# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=iproute2
pkgver=6.15.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-$pkgver.tar.xz
	"
options="!check"  # requires namespaces support and root

# 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="
1a438941cd939e1c8e32cfe8c40e6fd826c89185f1bb0c623eaad7380a66afd9fa9e0d7cdc5e5b193d2761b7dbdc78fd0811537eecc500be633730c32ff55ad4  iproute2-6.15.0.tar.xz
"
