# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=iproute2
pkgver=7.0.0
pkgrel=0
pkgdesc="IP Routing Utilities"
url="https://wiki.linuxfoundation.org/networking/iproute2"
arch="all"
license="GPL-2.0-or-later"
install="$pkgname.post-install"
depends="
	$pkgname-minimal
	$pkgname-tc
	$pkgname-ss
	"
makedepends="
	bash
	bison
	elfutils-dev
	flex
	iptables-dev
	libcap-dev
	libmnl-dev
	"
subpackages="
	$pkgname-doc
	$pkgname-dev
	$pkgname-bash-completion
	$pkgname-minimal
	$pkgname-tc
	$pkgname-ss
	$pkgname-rdma
	"
source="https://kernel.org/pub/linux/utils/net/iproute2/iproute2-v$pkgver.tar.xz
	"
options="!check"  # requires namespaces support and root
builddir="$srcdir/"$pkgname-v$pkgver

# secfixes:
#   5.1.0-r0:
#     - CVE-2019-20795

build() {
	export CFLAGS="$CFLAGS -flto=auto"
	make V=1
}

package() {
	make DESTDIR="$pkgdir" install

	install -D -m644 include/libnetlink.h "$pkgdir"/usr/include/libnetlink.h
	install -D -m644 lib/libnetlink.a "$pkgdir"/usr/lib/libnetlink.a
}

minimal() {
	pkgdesc="IP Routing Utilities (/sbin/ip only)"
	depends=""
	replaces="$pkgname"  # for backward compatibility (Alpine <3.13)

	amove sbin/ip
	amove usr/share/iproute2
}

tc() {
	pkgdesc="$pkgdesc (traffic control and XDP support)"
	depends=""
	replaces="$pkgname"  # for backward compatibility (Alpine <3.13)

	amove sbin/tc
	amove usr/lib/tc
}

ss() {
	pkgdesc="$pkgdesc (socket statistics tool)"
	depends=""
	replaces="$pkgname"  # for backward compatibility (Alpine <3.13)

	amove sbin/ss
}

rdma() {
	pkgdesc="$pkgdesc (rdma utilities)"
	depends=""

	amove sbin/dcb
	amove sbin/devlink
	amove sbin/rdma
	amove sbin/tipc
	amove sbin/vdpa
}

sha512sums="
ece3719bf52852d7b28f225d85f600e6538dfe226d6efe5c74169e37768eb05baad22f2ab429c5460603f4aa9464a26030ad95ee8e7b9e05323b48b9ed8d22c0  iproute2-v7.0.0.tar.xz
"
