aboutsummaryrefslogtreecommitdiffstats
path: root/testing/bird
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2016-07-11 15:59:05 +0000
committerTimo Teräs <timo.teras@iki.fi>2016-07-11 15:59:55 +0000
commit9943b094902a5743268eb62334c51944ca67dbbf (patch)
treeda2d58fcde43022b6fa90e8a2ae51413c5d207f1 /testing/bird
parent6fc8b108f4034c040582f9fc8eeb9df4c63764a8 (diff)
downloadaports-9943b094902a5743268eb62334c51944ca67dbbf.tar.bz2
aports-9943b094902a5743268eb62334c51944ca67dbbf.tar.xz
testing/bird: use builddir, fix struct msghdr usage
musl has padding fields in struct msghdr for posix compliance. use designated initializer to get rid of the warnings.
Diffstat (limited to 'testing/bird')
-rw-r--r--testing/bird/APKBUILD29
-rw-r--r--testing/bird/fix-msghdr.patch30
2 files changed, 45 insertions, 14 deletions
diff --git a/testing/bird/APKBUILD b/testing/bird/APKBUILD
index 10ccb84877..2c8a4bbc74 100644
--- a/testing/bird/APKBUILD
+++ b/testing/bird/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Zanini <francesco@zanini.me>
pkgname=bird
pkgver=1.6.0
-pkgrel=0
+pkgrel=1
pkgdesc="BIRD Internet Routing Daemon"
url="http://bird.network.cz/"
arch="all"
@@ -12,17 +12,15 @@ makedepends="bison flex ncurses-dev readline-dev linux-headers"
install=""
subpackages="bird6"
source="ftp://bird.network.cz/pub/bird/bird-$pkgver.tar.gz
+ fix-msghdr.patch
+
bird.initd"
-_builddir="$srcdir"/bird-$pkgver
+builddir="$srcdir"/bird-$pkgver
+
prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
+ cd "$builddir"
+ default_prepare
# generate bird6.initd
cd "$srcdir"
sed -e 's/^name=.*/name=bird6/' bird.initd > bird6.initd
@@ -40,18 +38,18 @@ _build() {
build() {
- cd "$_builddir"
+ cd "$builddir"
mkdir -p ipv6 ipv4
- cd "$_builddir"/ipv6
+ cd "$builddir"/ipv6
_build --enable-ipv6 || return 1
- cd "$_builddir"/ipv4
+ cd "$builddir"/ipv4
_build || return 1
}
package() {
- cd "$_builddir"/ipv4
+ cd "$builddir"/ipv4
make DESTDIR="$pkgdir" install || return 1
- cd "$_builddir"/ipv6
+ cd "$builddir"/ipv6
make DESTDIR="$pkgdir" install || return 1
for i in bird bird6; do
install -Dm755 "$srcdir"/$i.initd "$pkgdir"/etc/init.d/$i \
@@ -71,8 +69,11 @@ bird6() {
}
md5sums="4c92ec3548a2a120243879b6ef7046dd bird-1.6.0.tar.gz
+88aa02acc313db1fc1a4debbd2679c6c fix-msghdr.patch
47e25c48363125156e8b61680685c1bc bird.initd"
sha256sums="db3dfe37deac73b38b7d6966e577985f7b8e23f246760cb095ad13b0d8010e13 bird-1.6.0.tar.gz
+a96a3a13d18bc889f320efb17ec5283e811707184e5344c6b7709c8c6ba73c8a fix-msghdr.patch
f32612cfb938b9c634163f1c0177ccd664b77661eb41c978a4a5a4e2941c63ef bird.initd"
sha512sums="3b73c5aa26ac725547d8ff67c35008b6793ef4dc9f22940bacc3871f60abb77e41d93bef0e493d5808eea455e17a04bbba837f16665d726a0a80e73270fed67a bird-1.6.0.tar.gz
+1c3ab14afaae70d320ac8021a47091a0ed7a0745bedd616b39d9cec8855f294e0cbff437588b856c8e58e476b72d661c33bf3c726a520ab7c3dbe274788e9993 fix-msghdr.patch
0ac7aadd9ed5d736aa39f586002c0ccdaa71817abba09789fd36c773a029e98aee37b449a9c6917836ed495c3838356cdd871e7b1d4ad3dc8e68f18fdf6c3aab bird.initd"
diff --git a/testing/bird/fix-msghdr.patch b/testing/bird/fix-msghdr.patch
new file mode 100644
index 0000000000..5c89997805
--- /dev/null
+++ b/testing/bird/fix-msghdr.patch
@@ -0,0 +1,30 @@
+--- bird-1.6.0.orig/sysdep/linux/netlink.c
++++ bird-1.6.0/sysdep/linux/netlink.c
+@@ -125,7 +125,12 @@
+ {
+ struct iovec iov = { nl->rx_buffer, NL_RX_SIZE };
+ struct sockaddr_nl sa;
+- struct msghdr m = { (struct sockaddr *) &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
++ struct msghdr m = {
++ .msg_name = (struct sockaddr *) &sa,
++ .msg_namelen = sizeof(sa),
++ .msg_iov = &iov,
++ .msg_iovlen = 1,
++ };
+ int x = recvmsg(nl->fd, &m, 0);
+ if (x < 0)
+ die("nl_get_reply: %m");
+@@ -1231,7 +1236,12 @@
+ {
+ struct iovec iov = { nl_async_rx_buffer, NL_RX_SIZE };
+ struct sockaddr_nl sa;
+- struct msghdr m = { (struct sockaddr *) &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
++ struct msghdr m = {
++ .msg_name = (struct sockaddr *) &sa,
++ .msg_namelen = sizeof(sa),
++ .msg_iov = &iov,
++ .msg_iovlen = 1,
++ };
+ struct nlmsghdr *h;
+ int x;
+ uint len;