diff options
author | Timo Teräs <timo.teras@iki.fi> | 2016-07-11 15:59:05 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2016-07-11 15:59:55 +0000 |
commit | 9943b094902a5743268eb62334c51944ca67dbbf (patch) | |
tree | da2d58fcde43022b6fa90e8a2ae51413c5d207f1 /testing/bird | |
parent | 6fc8b108f4034c040582f9fc8eeb9df4c63764a8 (diff) | |
download | aports-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/APKBUILD | 29 | ||||
-rw-r--r-- | testing/bird/fix-msghdr.patch | 30 |
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; |