Accepting request 833673 from home:dirkmueller:branches:network
- update to 2.0.2: o Integrated IPv4 + IPv6 design * many changes, see included NEWS for details * obsoletes separate bird6/bird-common subpackages - remove bird-1.6.3_verbose.build.patch bufferoverflow.patch: obsolete - add gcc10.patch (fix build with gcc 10), disable -fcommon again - reenable fortify-source OBS-URL: https://build.opensuse.org/request/show/833673 OBS-URL: https://build.opensuse.org/package/show/network/bird?expand=0&rev=12
This commit is contained in:
parent
9530594849
commit
7792ee7ff9
@ -1,23 +0,0 @@
|
||||
Index: bird-1.6.3/tools/Rules.in
|
||||
===================================================================
|
||||
--- bird-1.6.3.orig/tools/Rules.in
|
||||
+++ bird-1.6.3/tools/Rules.in
|
||||
@@ -68,14 +68,14 @@ subdir: all.o
|
||||
all.o: $(objs)
|
||||
# $(LD) -r -o $@ $^
|
||||
# Changed to $(CC) because $(LD) has problems with crosscompiling
|
||||
- @echo LD -r -o $@ $^
|
||||
- @$(CC) -nostdlib -r -o $@ $^
|
||||
+# @echo LD -r -o $@ $^
|
||||
+ $(CC) -nostdlib -r -o $@ $^
|
||||
|
||||
endif
|
||||
|
||||
%.o: $(src-path)%.c
|
||||
- @echo CC -o $@ -c $<
|
||||
- @$(CC) $(CFLAGS) -o $@ -c $<
|
||||
+# @echo CC -o $@ -c $<
|
||||
+ $(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
ifndef source-dep
|
||||
source-dep := $(source)
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6c61ab5d2ef59d2559a8735b8252b5a0238013b43e5fb8a96c5d9d06e7bc00b2
|
||||
size 1042222
|
3
bird-2.0.7.tar.gz
Normal file
3
bird-2.0.7.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:631d2b58aebdbd651aaa3c68c3756c02ebfe5b1e60d307771ea909eeaa5b1066
|
||||
size 1993395
|
12
bird.changes
12
bird.changes
@ -1,3 +1,15 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 11 07:16:11 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- update to 2.0.2:
|
||||
o Integrated IPv4 + IPv6 design
|
||||
* many changes, see included NEWS for details
|
||||
* obsoletes separate bird6/bird-common subpackages
|
||||
|
||||
- remove bird-1.6.3_verbose.build.patch bufferoverflow.patch: obsolete
|
||||
- add gcc10.patch (fix build with gcc 10), disable -fcommon again
|
||||
- reenable fortify-source
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 17 11:26:13 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
|
102
bird.spec
102
bird.spec
@ -21,7 +21,7 @@
|
||||
%define bird_home %{_localstatedir}/lib/bird
|
||||
%define bird_runtimedir %{_rundir}/%{name}
|
||||
Name: bird
|
||||
Version: 1.6.8
|
||||
Version: 2.0.7
|
||||
Release: 0
|
||||
Summary: The BIRD Internet Routing Daemon
|
||||
License: GPL-2.0-or-later
|
||||
@ -29,17 +29,19 @@ Group: Productivity/Networking/Routing
|
||||
URL: https://bird.network.cz/
|
||||
Source: ftp://bird.network.cz/pub/bird/bird-%{version}.tar.gz
|
||||
Source1: bird.service
|
||||
Source2: bird6.service
|
||||
Source3: bird.tmpfiles.d
|
||||
Patch0: bird-1.6.3_verbose.build.patch
|
||||
Patch1: bufferoverflow.patch
|
||||
Patch0: gcc10.patch
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
Requires: bird-common
|
||||
Provides: bird6 = %{version}
|
||||
Provides: bird6:%{_sbindir}/bird6
|
||||
Obsoletes: bird6 < %{version}
|
||||
Provides: bird-common = %{version}
|
||||
Obsoletes: bird-common < %{version}
|
||||
|
||||
%description
|
||||
BIRD is an implementation for routing Internet Protocol packets. IPv4
|
||||
@ -47,35 +49,14 @@ and IPv6 are supported by running separate daemons. It establishes
|
||||
multiple routing tables, and uses BGP, RIP, and OSPF routing
|
||||
protocols, as well as statically defined routes.
|
||||
|
||||
This package holds the IPv4 binaries.
|
||||
|
||||
%package -n bird6
|
||||
Summary: The BIRD Internet Routing Daemon for IPv6
|
||||
Group: Productivity/Networking/Routing
|
||||
Requires: bird-common
|
||||
|
||||
%description -n bird6
|
||||
BIRD is an implementation for routing Internet Protocol packets. IPv4
|
||||
and IPv6 are supported by running separate daemons. It establishes
|
||||
multiple routing tables, and uses BGP, RIP, and OSPF routing
|
||||
protocols, as well as statically defined routes.
|
||||
|
||||
This package holds the IPv6 binaries.
|
||||
|
||||
%package common
|
||||
Summary: Common files for the BIRD Internet Routing Daemon
|
||||
Group: Productivity/Networking/Routing
|
||||
Requires(pre): shadow
|
||||
%{?systemd_requires}
|
||||
|
||||
%description common
|
||||
BIRD is an implementation for routing Internet Protocol packets.
|
||||
This package holds the IPv4+IPv6 binaries.
|
||||
|
||||
This package holds common files and directories.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for the BIRD Internet Routing Daemon
|
||||
Group: Documentation/HTML
|
||||
BuildRequires: perl-FindBin-Real
|
||||
|
||||
%description doc
|
||||
BIRD is an implementation for routing Internet Protocol packets.
|
||||
@ -85,73 +66,44 @@ This package holds the HTML documentation.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
# gcc detects overflow in strncpy at proto/rip/packets.c:215:5
|
||||
# but it's false alarm, relax gcc (-D_FORTIFY_SOURCE=1)
|
||||
# see http://bird.network.cz/pipermail/bird-users/2016-May/010380.html
|
||||
export CFLAGS="${RPM_OPT_FLAGS//-D_FORTIFY_SOURCE=2/-D_FORTIFY_SOURCE=0} -fpic -DPIC -fno-strict-aliasing -Wno-parentheses -Wno-pointer-sign -fcommon"
|
||||
export CFLAGS="${RPM_OPT_FLAGS} -fpic -DPIC -fno-strict-aliasing -Wno-parentheses -Wno-pointer-sign"
|
||||
export LDFLAGS="-Wl,-z,relro -pie"
|
||||
%define _configure ../configure
|
||||
mkdir 4 6
|
||||
pushd 4
|
||||
%configure \
|
||||
--with-runtimedir=%{bird_runtimedir}
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
pushd 6
|
||||
%configure --enable-ipv6 \
|
||||
--with-runtimedir=%{bird_runtimedir}
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
%make_build all
|
||||
# requires linuxdoctools
|
||||
# make docs
|
||||
|
||||
%install
|
||||
%make_install -C 4
|
||||
%make_install -C 6
|
||||
%make_install
|
||||
|
||||
install -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/bird.service
|
||||
install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/bird6.service
|
||||
install -D -m 0644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcbird
|
||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcbird6
|
||||
install -D -d -m 0750 %{buildroot}%{bird_home}
|
||||
install -D -d -m 0750 %{buildroot}%{_docdir}/%{name}/
|
||||
cp -av NEWS README doc/bird*.html %{buildroot}%{_docdir}/%{name}/
|
||||
|
||||
%pre common
|
||||
%check
|
||||
make test
|
||||
|
||||
%pre
|
||||
# Create bird user/group
|
||||
getent group %{bird_group} >/dev/null || groupadd -r %{bird_group}
|
||||
getent passwd %{bird_user} >/dev/null || useradd -r -g %{bird_group} -d %{bird_home} -s /sbin/nologin -c "Bird routing daemon" %{bird_user}
|
||||
exit 0
|
||||
|
||||
%post common
|
||||
systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf || true
|
||||
|
||||
%pre
|
||||
%service_add_pre bird.service
|
||||
|
||||
%pre -n bird6
|
||||
%service_add_pre bird6.service
|
||||
|
||||
%preun
|
||||
%service_del_preun bird.service
|
||||
|
||||
%preun -n bird6
|
||||
%service_del_preun bird6.service
|
||||
|
||||
%post
|
||||
systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf || true
|
||||
%service_add_post bird.service
|
||||
|
||||
%post -n bird6
|
||||
%service_add_post bird6.service
|
||||
|
||||
%postun
|
||||
%service_del_postun bird.service
|
||||
|
||||
%postun -n bird6
|
||||
%service_del_postun bird6.service
|
||||
|
||||
%files
|
||||
%config(noreplace) %attr(0640,root,%{bird_group}) %{_sysconfdir}/bird.conf
|
||||
%{_sbindir}/bird
|
||||
@ -159,24 +111,12 @@ systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf || true
|
||||
%{_sbindir}/birdcl
|
||||
%{_sbindir}/rcbird
|
||||
%{_unitdir}/bird.service
|
||||
|
||||
%files -n bird6
|
||||
%config(noreplace) %attr(0640,root,%{bird_group}) %{_sysconfdir}/bird6.conf
|
||||
%{_sbindir}/bird6
|
||||
%{_sbindir}/birdc6
|
||||
%{_sbindir}/birdcl6
|
||||
%{_sbindir}/rcbird6
|
||||
%{_unitdir}/bird6.service
|
||||
|
||||
%files common
|
||||
%dir %attr(750,%{bird_user},%{bird_group}) %{bird_home}
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
%dir %attr(-,%{bird_user},%{bird_group}) %ghost %{bird_runtimedir}
|
||||
%dir %{_docdir}/%{name}
|
||||
%doc %{_docdir}/%{name}/README
|
||||
%doc %{_docdir}/%{name}/NEWS
|
||||
|
||||
%files doc
|
||||
%doc %{_docdir}/%{name}/bird*.html
|
||||
%doc NEWS README
|
||||
%doc doc/bird.conf.*
|
||||
|
||||
%changelog
|
||||
|
@ -1,17 +0,0 @@
|
||||
[Unit]
|
||||
Description=The BIRD Internet Routing Daemon (IPv6)
|
||||
Documentation=http://bird.network.cz/doc/bird.html
|
||||
Wants=network.target
|
||||
After=network.target
|
||||
ConditionFileIsExecutable=/usr/sbin/bird6
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStartPre=/usr/sbin/bird6 -p -u bird -g bird
|
||||
ExecStart=/usr/sbin/bird6 -u bird -g bird -f -P /run/bird/bird6.pid $BIRD_OPTIONS
|
||||
ExecReload=/usr/bin/kill -HUP $MAINPID
|
||||
PIDFile=/run/bird/bird6.pid
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -1,32 +0,0 @@
|
||||
Index: bird-1.6.3/proto/rip/packets.c
|
||||
===================================================================
|
||||
--- bird-1.6.3.orig/proto/rip/packets.c
|
||||
+++ bird-1.6.3/proto/rip/packets.c
|
||||
@@ -56,13 +56,20 @@ struct rip_block_auth
|
||||
{
|
||||
u16 must_be_ffff;
|
||||
u16 auth_type;
|
||||
- char password[0];
|
||||
- u16 packet_len;
|
||||
- u8 key_id;
|
||||
- u8 auth_len;
|
||||
- u32 seq_num;
|
||||
- u32 unused1;
|
||||
- u32 unused2;
|
||||
+ /*
|
||||
+ * use anonymous struct/union to get around a fortify source warnings about overwriting the password buffer
|
||||
+ */
|
||||
+ union {
|
||||
+ char password[RIP_PASSWD_LENGTH];
|
||||
+ struct {
|
||||
+ u16 packet_len;
|
||||
+ u8 key_id;
|
||||
+ u8 auth_len;
|
||||
+ u32 seq_num;
|
||||
+ u32 unused1;
|
||||
+ u32 unused2;
|
||||
+ }
|
||||
+ };
|
||||
};
|
||||
|
||||
/* Authentication tail, RFC 4822 */
|
15
gcc10.patch
Normal file
15
gcc10.patch
Normal file
@ -0,0 +1,15 @@
|
||||
https://bird.network.cz/pipermail/bird-users/2020-February/014211.html
|
||||
|
||||
diff --git a/nest/route.h b/nest/route.h
|
||||
index d2a07f09..b927db5f 100644
|
||||
--- a/nest/route.h
|
||||
+++ b/nest/route.h
|
||||
@@ -458,7 +458,7 @@ typedef struct rta {
|
||||
protocol-specific metric is availabe */
|
||||
|
||||
|
||||
-const char * rta_dest_names[RTD_MAX];
|
||||
+extern const char * rta_dest_names[RTD_MAX];
|
||||
|
||||
static inline const char *rta_dest_name(uint n)
|
||||
{ return (n < RTD_MAX) ? rta_dest_names[n] : "???"; }
|
Loading…
Reference in New Issue
Block a user