| |
@@ -1,25 +1,31 @@
|
| |
%global _hardened_build 1
|
| |
|
| |
Name: bird
|
| |
- Version: 1.4.5
|
| |
- Release: 2%{?dist}
|
| |
+ Version: 1.6.6
|
| |
+ Release: 1%{?dist}
|
| |
Summary: BIRD Internet Routing Daemon
|
| |
|
| |
Group: System Environment/Daemons
|
| |
License: GPLv2+
|
| |
- URL: http://bird.network.cz
|
| |
+ URL: https://bird.network.cz
|
| |
Source0: ftp://bird.network.cz/pub/bird/bird-%{version}.tar.gz
|
| |
Source1: bird.init
|
| |
+ Patch0: bird-1.6.6-runstatedir.patch
|
| |
|
| |
- BuildRequires: flex bison ncurses-devel readline-devel sed
|
| |
- Requires(post): chkconfig
|
| |
- Requires(preun): chkconfig initscripts
|
| |
-
|
| |
- Patch0: 0001-Fixes-a-bug-in-locking-code.patch
|
| |
+ 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 dynamic routing daemon supporting IPv4 and IPv6 versions of routing
|
| |
- protocols BGP, RIP and OSPF.
|
| |
+ 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.
|
| |
|
| |
@@ -27,34 +33,44 @@
|
| |
%package -n bird6
|
| |
Summary: BIRD Internet Routing Daemon
|
| |
Group: System Environment/Daemons
|
| |
- Requires(post): chkconfig
|
| |
- Requires(preun): chkconfig initscripts
|
| |
+ Requires(post): /sbin/chkconfig
|
| |
+ Requires(preun): /sbin/service, /sbin/chkconfig
|
| |
+ Requires(postun): /sbin/service
|
| |
+ Requires(pre): shadow-utils
|
| |
|
| |
%description -n bird6
|
| |
- BIRD is dynamic routing daemon supporting IPv4 and IPv6 versions of routing
|
| |
- protocols BGP, RIP and OSPF.
|
| |
+ 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: BIRD Internet Routing Daemon
|
| |
- Group: System Environment/Daemons
|
| |
+ Summary: Documentation for BIRD Internet Routing Daemon
|
| |
+ Group: Documentation
|
| |
+ BuildRequires: linuxdoc-tools sgml-common
|
| |
+ BuildArch: noarch
|
| |
|
| |
%description doc
|
| |
- BIRD is dynamic routing daemon supporting IPv4 and IPv6 versions of routing
|
| |
- protocols BGP, RIP and OSPF.
|
| |
+ Documentation for users and programmers of the BIRD Internet Routing Daemon.
|
| |
|
| |
- This package contains documentation.
|
| |
+ 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
|
| |
-
|
| |
- %patch0 -p1
|
| |
-
|
| |
- #Don't strip executables
|
| |
- sed -i 's/\$(INSTALL_PROGRAM) -s/\$(INSTALL_PROGRAM)/' tools/Makefile.in
|
| |
+ %patch0 -p1 -b .runstatedir
|
| |
|
| |
|
| |
%build
|
| |
@@ -62,88 +78,104 @@
|
| |
tar c --exclude ipv6 . | tar x -C ipv6
|
| |
|
| |
cd ipv6
|
| |
- %configure --prefix=%{_prefix} \
|
| |
- --sysconfdir=%{_sysconfdir} \
|
| |
- --localstatedir=%{_localstatedir} \
|
| |
- --enable-ipv6
|
| |
- make %{?_smp_mflags}
|
| |
+ %configure --runstatedir=%{_localstatedir}/run/bird6 --enable-ipv6
|
| |
+ %make_build all
|
| |
cd ..
|
| |
|
| |
- %configure --prefix=%{_prefix} \
|
| |
- --sysconfdir=%{_sysconfdir} \
|
| |
- --localstatedir=%{_localstatedir}
|
| |
- make %{?_smp_mflags}
|
| |
+ %configure --runstatedir=%{_localstatedir}/run/bird
|
| |
+ %make_build all docs
|
| |
|
| |
|
| |
%install
|
| |
- rm -rf %{buildroot}
|
| |
-
|
| |
- make install DESTDIR=%{buildroot}
|
| |
+ %make_install
|
| |
|
| |
cd ipv6
|
| |
- make install DESTDIR=%{buildroot}
|
| |
+ %make_install
|
| |
cd ..
|
| |
|
| |
- install -d $RPM_BUILD_ROOT%{_initddir}
|
| |
- sed 's/BIRD_PROGNAME/bird/' %SOURCE1 > $RPM_BUILD_ROOT%{_initddir}/bird
|
| |
- sed 's/BIRD_PROGNAME/bird6/' %SOURCE1 > $RPM_BUILD_ROOT%{_initddir}/bird6
|
| |
+ 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
|
| |
+
|
| |
|
| |
- %clean
|
| |
- rm -rf %{buildroot}
|
| |
+ %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 %{name}
|
| |
+ /sbin/chkconfig --add bird
|
| |
|
| |
%preun
|
| |
if [ $1 -eq 0 ]; then
|
| |
- /sbin/service %{name} stop >/dev/null 2>&1
|
| |
- /sbin/chkconfig --del %{name}
|
| |
+ /sbin/service bird stop > /dev/null 2>&1 || :
|
| |
+ /sbin/chkconfig --del bird
|
| |
fi
|
| |
|
| |
%postun
|
| |
- if [ $1 -eq 1 ]; then
|
| |
- /sbin/service %{name} condrestart >/dev/null 2>&1 || :
|
| |
+ 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
|
| |
+ /sbin/service bird6 stop > /dev/null 2>&1 || :
|
| |
+ /sbin/chkconfig --del bird6
|
| |
fi
|
| |
|
| |
%postun -n bird6
|
| |
- if [ $1 -eq 1 ]; then
|
| |
- /sbin/service bird6 condrestart >/dev/null 2>&1 || :
|
| |
+ if [ $1 -ne 0 ]; then
|
| |
+ /sbin/service bird6 condrestart > /dev/null 2>&1 || :
|
| |
fi
|
| |
|
| |
+
|
| |
%files
|
| |
- %defattr(-,root,root,-)
|
| |
- %doc NEWS README TODO
|
| |
- %config(noreplace) %{_sysconfdir}/bird.conf
|
| |
- %attr(755,root,root) %{_initddir}/bird
|
| |
+ %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
|
| |
- %defattr(-,root,root,-)
|
| |
- %doc NEWS README TODO
|
| |
- %config(noreplace) %{_sysconfdir}/bird6.conf
|
| |
- %attr(755,root,root) %{_initddir}/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
|
| |
- %defattr(-,root,root,-)
|
| |
- %doc NEWS README TODO
|
| |
+ %doc NEWS README
|
| |
+ %doc doc/bird.conf.*
|
| |
%doc doc/bird*.html
|
| |
+ %doc doc/bird.pdf
|
| |
+ %doc doc/prog*.html
|
| |
+ %doc doc/prog.pdf
|
| |
|
| |
|
| |
%changelog
|
| |
+ * Sat Apr 06 2019 Robert Scheck <robert@fedoraproject.org> - 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 <msekleta@redhat.com> - 1.4.5-2
|
| |
- fix bug in the locking code (#1235219)
|
| |
|
| |
Suggestion to upgrade BIRD on EPEL 6 for the same reason like on EPEL 7 (CVE-2018-12066):