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: Wed, 23 Dec 2020 00:20:43
Message-Id: 1608682837.d08694be65de1ec768b4135732d292547c436722.polynomial-c@gentoo
1 commit: d08694be65de1ec768b4135732d292547c436722
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 23 00:19:40 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 23 00:20:37 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d08694be
7
8 sys-apps/iproute2: Bump to version 5.10.0
9
10 Package-Manager: Portage-3.0.12, Repoman-3.0.2
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 sys-apps/iproute2/Manifest | 1 +
14 sys-apps/iproute2/iproute2-5.10.0.ebuild | 167 +++++++++++++++++++++++++++++++
15 2 files changed, 168 insertions(+)
16
17 diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest
18 index 4106a4c3d61..99cf8f8afef 100644
19 --- a/sys-apps/iproute2/Manifest
20 +++ b/sys-apps/iproute2/Manifest
21 @@ -1,3 +1,4 @@
22 +DIST iproute2-5.10.0.tar.xz 798776 BLAKE2B 8c17e65f03427f45b71dc17b289b272545549a6687257498676a23e4fdc4a590a7215bfdba3c7ac4b1ccde6c38ba8e3eb222eea2532374fa9680633aa198d347 SHA512 a468eefa797898b6de452212aa432c0a931434defacae5fb4335754c1292c5d86a8c8dbf3017f90cec266d71a2a17ae469aac17e1a85a5cbddc70814313e4c13
23 DIST iproute2-5.4.0.tar.xz 741328 BLAKE2B 8c7b74aa64526180e793165eb3d0f1ee07d4589fa982aa91e4e0775595c096d73677e85bb7f073cbe14e6de6b166d31efba94554f8c7df3320b168341818fcba SHA512 26d1230e10d9ba4466edd3fe95cb6f595df691eeb27b87ae845ceb9da09fe11c2e0daa8d67187121320413f9ee7131fd426182055eb285be7c4de558d9e47051
24 DIST iproute2-5.7.0.tar.xz 764436 BLAKE2B 842229730139f8931c4ff3d548fe56c7c86b6bb7be5cc1a7dd896ddce34c039467fb90d0c258cdc91276edc59b9b19f53c39a36c79b54b15a78436b44c595eed SHA512 d5ef68e0eb8e84fbff68c2e7dd4097b9ceb438c928d17ede4130876802dfeafe8bf08d82b4fd39005314e0679c0b261aaa3d6a0a2ff364074a43a043a855a634
25 DIST iproute2-5.8.0.tar.xz 780612 BLAKE2B 5d86af8d981f5e9582d5eb0aaffbe15891964a86f3a1da408ce2f46101b1bb6beac8d4492dab1865391c212ef596c9256b680bdcb346d440e38cbb636a23cdc1 SHA512 f2a3f7dcf5cb39ca7cd14f0e40e45641eccf4b93427c527a09fd789ac8621c5c3359769ca61fcc8bab7e915edd943c39b7c3e15cbfc497187aa6271eed0a9152
26
27 diff --git a/sys-apps/iproute2/iproute2-5.10.0.ebuild b/sys-apps/iproute2/iproute2-5.10.0.ebuild
28 new file mode 100644
29 index 00000000000..6bccbe4b7ea
30 --- /dev/null
31 +++ b/sys-apps/iproute2/iproute2-5.10.0.ebuild
32 @@ -0,0 +1,167 @@
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 + "${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 ! grep -Fq "${PV}" ${versionfile} ; then
98 + elog "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 + econf
137 +
138 + # ...now switch on/off requested features via USE flags
139 + # this is only useful if the test did not set other things, per bug #643722
140 + cat <<-EOF >> config.mk
141 + TC_CONFIG_ATM := $(usex atm y n)
142 + TC_CONFIG_XT := $(usex iptables y n)
143 + TC_CONFIG_NO_XT := $(usex iptables n y)
144 + # We've locked in recent enough kernel headers #549948
145 + TC_CONFIG_IPSET := y
146 + HAVE_BERKELEY_DB := $(usex berkdb y n)
147 + HAVE_CAP := $(usex caps y n)
148 + HAVE_MNL := $(usex minimal n y)
149 + HAVE_ELF := $(usex elf y n)
150 + HAVE_SELINUX := $(usex selinux y n)
151 + IP_CONFIG_SETNS := ${setns}
152 + # Use correct iptables dir, #144265 #293709
153 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
154 + EOF
155 +}
156 +
157 +src_compile() {
158 + emake V=1 NETNS_RUN_DIR=/run/netns
159 +}
160 +
161 +src_install() {
162 + if use minimal ; then
163 + into /
164 + dosbin tc/tc
165 + dobin ip/ip
166 + return 0
167 + fi
168 +
169 + emake \
170 + DESTDIR="${D}" \
171 + PREFIX="${EPREFIX}/usr" \
172 + LIBDIR="${EPREFIX}"/$(get_libdir) \
173 + SBINDIR="${EPREFIX}"/sbin \
174 + CONFDIR="${EPREFIX}"/etc/iproute2 \
175 + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
176 + MANDIR="${EPREFIX}"/usr/share/man \
177 + ARPDDIR="${EPREFIX}"/var/lib/arpd \
178 + install
179 +
180 + dodir /bin
181 + mv "${ED}"/{s,}bin/ip || die #330115
182 +
183 + dolib.a lib/libnetlink.a
184 + insinto /usr/include
185 + doins include/libnetlink.h
186 + # This local header pulls in a lot of linux headers it
187 + # doesn't directly need. Delete this header that requires
188 + # linux-headers-3.8 until that goes stable. #467716
189 + sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die
190 +
191 + if use berkdb ; then
192 + keepdir /var/lib/arpd
193 + # bug 47482, arpd doesn't need to be in /sbin
194 + dodir /usr/bin
195 + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
196 + elif [[ -d "${ED}"/var/lib/arpd ]]; then
197 + rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die
198 + fi
199 +}