mirror of
https://github.com/archlinux-jerry/pkgbuilds
synced 2024-11-22 14:00:40 +08:00
add package: bird
This commit is contained in:
parent
33124c36ff
commit
98057a44d8
4 changed files with 114 additions and 0 deletions
32
bird/17de3a023f7bde293892b41bfafe5740c8553fc8.patch
Normal file
32
bird/17de3a023f7bde293892b41bfafe5740c8553fc8.patch
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
From 17de3a023f7bde293892b41bfafe5740c8553fc8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Ondrej Zajicek (work)" <santiago@crfreenet.org>
|
||||||
|
Date: Wed, 29 Apr 2020 02:50:29 +0200
|
||||||
|
Subject: [PATCH] BGP: Fix handling of strange IPv6 link-local-only next hops
|
||||||
|
|
||||||
|
There are three common ways how to encode IPv6 link-local-only next hops:
|
||||||
|
(:: ll), (ll), and (ll ll). We use the first one but we should accept all
|
||||||
|
three. The patch fixes handling of the last one.
|
||||||
|
|
||||||
|
Thanks to Sebastian Hahn for the bugreport.
|
||||||
|
---
|
||||||
|
proto/bgp/packets.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
|
||||||
|
index ee031c05..78fdd1e0 100644
|
||||||
|
--- a/proto/bgp/packets.c
|
||||||
|
+++ b/proto/bgp/packets.c
|
||||||
|
@@ -1157,7 +1157,10 @@ bgp_decode_next_hop_ip(struct bgp_parse_state *s, byte *data, uint len, rta *a)
|
||||||
|
nh[0] = ipa_from_ip6(get_ip6(data));
|
||||||
|
nh[1] = ipa_from_ip6(get_ip6(data+16));
|
||||||
|
|
||||||
|
- if (ipa_is_ip4(nh[0]) || !ip6_is_link_local(nh[1]))
|
||||||
|
+ if (ipa_is_link_local(nh[0]))
|
||||||
|
+ { nh[1] = nh[0]; nh[0] = IPA_NONE; }
|
||||||
|
+
|
||||||
|
+ if (ipa_is_ip4(nh[0]) || !ipa_is_link_local(nh[1]))
|
||||||
|
nh[1] = IPA_NONE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
--
|
||||||
|
2.24.1
|
66
bird/PKGBUILD
Normal file
66
bird/PKGBUILD
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
# Maintainer: Sébastien Luttringer
|
||||||
|
|
||||||
|
pkgname=bird
|
||||||
|
pkgver=2.0.7
|
||||||
|
pkgrel=3
|
||||||
|
pkgdesc='RIP, OSPF, BGP, MPLS, BFD, Babbel routing daemon'
|
||||||
|
arch=('x86_64')
|
||||||
|
url='https://bird.network.cz/'
|
||||||
|
license=('GPL2')
|
||||||
|
backup=('etc/bird.conf')
|
||||||
|
depends=('glibc' 'readline' 'ncurses' 'libssh')
|
||||||
|
replaces=('bird6')
|
||||||
|
source=("ftp://bird.network.cz/pub/bird/$pkgname-$pkgver.tar.gz"
|
||||||
|
'bird.service'
|
||||||
|
'17de3a023f7bde293892b41bfafe5740c8553fc8.patch')
|
||||||
|
md5sums=('dc884bbe5905578e452f28158700527c'
|
||||||
|
'69221e063a3f07dcad519d5eeacaae75'
|
||||||
|
'1afeb88ca6f4c9634da95937156f59a5')
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd $pkgname-$pkgver
|
||||||
|
# apply patch from the source array (should be a pacman feature)
|
||||||
|
local filename
|
||||||
|
for filename in "${source[@]}"; do
|
||||||
|
if [[ "$filename" =~ \.patch$ ]]; then
|
||||||
|
msg2 "Applying patch ${filename##*/}"
|
||||||
|
patch -p1 -N -i "$srcdir/${filename##*/}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd $pkgbase-$pkgver
|
||||||
|
CFLAGS+=' -fcommon' # https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--sbindir=/usr/bin \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--docdir=/usr/share/doc/$pkgname
|
||||||
|
make
|
||||||
|
}
|
||||||
|
|
||||||
|
package () {
|
||||||
|
|
||||||
|
cd $pkgbase-$pkgver
|
||||||
|
make \
|
||||||
|
prefix="$pkgdir/usr" \
|
||||||
|
sysconfdir="$pkgdir/etc" \
|
||||||
|
sbindir="$pkgdir/usr/bin" \
|
||||||
|
localstatedir="$pkgdir/var" \
|
||||||
|
docdir="$pkgdir/usr/share/doc/$pkgname" \
|
||||||
|
install
|
||||||
|
|
||||||
|
# no /var inside pkg
|
||||||
|
rm -r "$pkgdir/var"
|
||||||
|
|
||||||
|
# systemd
|
||||||
|
install -D -m 644 "$srcdir/bird.service" "$pkgdir/usr/lib/systemd/system/bird.service"
|
||||||
|
|
||||||
|
# overwrite invalid default config file (see FS#57096)
|
||||||
|
install -D -m 644 doc/bird.conf.example2 "$pkgdir/etc/bird.conf"
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim:set ts=2 sw=2 et:
|
4
bird/autobuild.yaml
Normal file
4
bird/autobuild.yaml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
type:
|
||||||
|
auto
|
||||||
|
priority:
|
||||||
|
10
|
12
bird/bird.service
Normal file
12
bird/bird.service
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Unit]
|
||||||
|
Description=BIRD routing daemon
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
ExecStart=/usr/bin/bird
|
||||||
|
ExecReload=/usr/bin/birdc configure
|
||||||
|
ExecStop=/usr/bin/birdc down
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in a new issue