Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/iproute2/
Date: Thu, 01 Jul 2021 07:06:39
Message-Id: 1625123187.4078b122f50ac875f1c269c18b76c224aebda1c1.polynomial-c@gentoo
1 commit: 4078b122f50ac875f1c269c18b76c224aebda1c1
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jul 1 06:59:21 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Thu Jul 1 07:06:27 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4078b122
7
8 sys-apps/iproute2: Bump to version 5.13.0
9
10 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
11
12 sys-apps/iproute2/Manifest | 1 +
13 sys-apps/iproute2/iproute2-5.13.0.ebuild | 170 +++++++++++++++++++++++++++++++
14 2 files changed, 171 insertions(+)
15
16 diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest
17 index 1ba5ff3bf0a..122dd273f55 100644
18 --- a/sys-apps/iproute2/Manifest
19 +++ b/sys-apps/iproute2/Manifest
20 @@ -1,3 +1,4 @@
21 DIST iproute2-5.10.0.tar.xz 798776 BLAKE2B 8c17e65f03427f45b71dc17b289b272545549a6687257498676a23e4fdc4a590a7215bfdba3c7ac4b1ccde6c38ba8e3eb222eea2532374fa9680633aa198d347 SHA512 a468eefa797898b6de452212aa432c0a931434defacae5fb4335754c1292c5d86a8c8dbf3017f90cec266d71a2a17ae469aac17e1a85a5cbddc70814313e4c13
22 DIST iproute2-5.11.0.tar.xz 822044 BLAKE2B e52e2334a4f6271a23e9393a3b11fc7e8e070ecff178bda1cf87705a55b59018edc8c28751e4fc6a7d877c19e6da772765afbdc5944800f98bf176513595e5bb SHA512 f592728ec819fc34cba04b1c04275e783aed86084fe31948e1776e6e473c8c1416aaf8101c19b51ddb4044af1cd2157827c0f91546b33badb448466eae9a2fda
23 DIST iproute2-5.12.0.tar.xz 835880 BLAKE2B 8e3e1b7188d7ab5014d06d7edaae2cb0c1dc65862999a2ca9f31902256d7f3d166de8a1c76e4e137acce2b445d72ea6850bfec3640d1919cb82351d45dd3e47e SHA512 9249beb67b30ceef178b60b2b61a5e6c45277e747ae4c865e739b7ab84192549e8e94ebaee43c0a87c0291037746ffb6936346245220786e369201ee13d60fac
24 +DIST iproute2-5.13.0.tar.xz 845236 BLAKE2B e1c148e2a720236163e7f4d46aa38d244a02ae36ad86571c5606d54c9ccfd8d0363e2fb793d48cf39aae322b3c36b9f8a43eaf570dbdb8243092926cef3d2786 SHA512 a3286639fb303a7c3c553cb5df0a7336c4c67e53eb05e872d2776b771dbfa36ffdf2df140f570275db6785c882992f469f8eb34a5b506aac876216df7dde245d
25
26 diff --git a/sys-apps/iproute2/iproute2-5.13.0.ebuild b/sys-apps/iproute2/iproute2-5.13.0.ebuild
27 new file mode 100644
28 index 00000000000..475fe98775b
29 --- /dev/null
30 +++ b/sys-apps/iproute2/iproute2-5.13.0.ebuild
31 @@ -0,0 +1,170 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +inherit toolchain-funcs flag-o-matic multilib
38 +
39 +if [[ ${PV} == "9999" ]] ; then
40 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
41 + inherit git-r3
42 +else
43 + SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
44 + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
45 +fi
46 +
47 +DESCRIPTION="kernel routing and traffic control utilities"
48 +HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2"
49 +
50 +LICENSE="GPL-2"
51 +SLOT="0"
52 +IUSE="atm berkdb bpf caps elf +iptables ipv6 libbsd minimal selinux"
53 +
54 +# We could make libmnl optional, but it's tiny, so eh
55 +RDEPEND="
56 + !net-misc/arpd
57 + !minimal? ( net-libs/libmnl )
58 + atm? ( net-dialup/linux-atm )
59 + berkdb? ( sys-libs/db:= )
60 + bpf? ( dev-libs/libbpf )
61 + caps? ( sys-libs/libcap )
62 + elf? ( virtual/libelf )
63 + iptables? ( >=net-firewall/iptables-1.4.20:= )
64 + libbsd? ( dev-libs/libbsd )
65 + selinux? ( sys-libs/libselinux )
66 +"
67 +# We require newer linux-headers for ipset support #549948 and some defines #553876
68 +DEPEND="
69 + ${RDEPEND}
70 + >=sys-kernel/linux-headers-3.16
71 +"
72 +BDEPEND="
73 + app-arch/xz-utils
74 + >=sys-devel/bison-2.4
75 + sys-devel/flex
76 + virtual/pkgconfig
77 +"
78 +
79 +PATCHES=(
80 + "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
81 + "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug 643722
82 + #"${FILESDIR}"/${PN}-5.1.0-portability.patch
83 + "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
84 +)
85 +
86 +src_prepare() {
87 + if ! use ipv6 ; then
88 + PATCHES+=(
89 + "${FILESDIR}"/${PN}-4.20.0-no-ipv6.patch #326849
90 + )
91 + fi
92 +
93 + default
94 +
95 + # Fix version if necessary
96 + local versionfile="include/version.h"
97 + if [[ "${PV}" != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then
98 + einfo "Fixing version string"
99 + sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \
100 + -i ${versionfile} || die
101 + fi
102 +
103 + # echo -n is not POSIX compliant
104 + sed 's@echo -n@printf@' -i configure || die
105 +
106 + sed -i \
107 + -e '/^CC :\?=/d' \
108 + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
109 + -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \
110 + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
111 + -e "/^DBM_INCLUDE/s:=.*:=${T}:" \
112 + Makefile || die
113 +
114 + # build against system headers
115 + rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc
116 + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
117 +
118 + if use minimal ; then
119 + sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die
120 + fi
121 +}
122 +
123 +src_configure() {
124 + tc-export AR CC PKG_CONFIG
125 +
126 + # This sure is ugly. Should probably move into toolchain-funcs at some point.
127 + local setns
128 + pushd "${T}" >/dev/null
129 + printf '#include <sched.h>\nint main(){return setns(0, 0);}\n' > test.c
130 + ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
131 + echo 'int main(){return 0;}' > test.c
132 + ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
133 + popd >/dev/null
134 +
135 + # run "configure" script first which will create "config.mk"...
136 + LIBBPF_FORCE="$(usex bpf on off)" \
137 + econf
138 +
139 + # ...now switch on/off requested features via USE flags
140 + # this is only useful if the test did not set other things, per bug #643722
141 + cat <<-EOF >> config.mk
142 + TC_CONFIG_ATM := $(usex atm y n)
143 + TC_CONFIG_XT := $(usex iptables y n)
144 + TC_CONFIG_NO_XT := $(usex iptables n y)
145 + # We've locked in recent enough kernel headers #549948
146 + TC_CONFIG_IPSET := y
147 + HAVE_BERKELEY_DB := $(usex berkdb y n)
148 + HAVE_CAP := $(usex caps y n)
149 + HAVE_MNL := $(usex minimal n y)
150 + HAVE_ELF := $(usex elf y n)
151 + HAVE_SELINUX := $(usex selinux y n)
152 + IP_CONFIG_SETNS := ${setns}
153 + # Use correct iptables dir, #144265 #293709
154 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
155 + HAVE_LIBBSD := $(usex libbsd y n)
156 + EOF
157 +}
158 +
159 +src_compile() {
160 + emake V=1 NETNS_RUN_DIR=/run/netns
161 +}
162 +
163 +src_install() {
164 + if use minimal ; then
165 + into /
166 + dosbin tc/tc
167 + dobin ip/ip
168 + return 0
169 + fi
170 +
171 + emake \
172 + DESTDIR="${D}" \
173 + PREFIX="${EPREFIX}/usr" \
174 + LIBDIR="${EPREFIX}"/$(get_libdir) \
175 + SBINDIR="${EPREFIX}"/sbin \
176 + CONFDIR="${EPREFIX}"/etc/iproute2 \
177 + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
178 + MANDIR="${EPREFIX}"/usr/share/man \
179 + ARPDDIR="${EPREFIX}"/var/lib/arpd \
180 + install
181 +
182 + dodir /bin
183 + mv "${ED}"/{s,}bin/ip || die #330115
184 +
185 + dolib.a lib/libnetlink.a
186 + insinto /usr/include
187 + doins include/libnetlink.h
188 + # This local header pulls in a lot of linux headers it
189 + # doesn't directly need. Delete this header that requires
190 + # linux-headers-3.8 until that goes stable. #467716
191 + sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die
192 +
193 + if use berkdb ; then
194 + keepdir /var/lib/arpd
195 + # bug 47482, arpd doesn't need to be in /sbin
196 + dodir /usr/bin
197 + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
198 + elif [[ -d "${ED}"/var/lib/arpd ]]; then
199 + rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die
200 + fi
201 +}