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