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: Mon, 27 Jan 2020 20:53:56
Message-Id: 1580158427.af5f2a09b5d151eaa16b97192f23ed894e87bc8b.polynomial-c@gentoo
1 commit: af5f2a09b5d151eaa16b97192f23ed894e87bc8b
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 27 20:52:13 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 27 20:53:47 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af5f2a09
7
8 sys-apps/iproute2: Bump to version 5.5.0
9
10 Package-Manager: Portage-2.3.85, Repoman-2.3.20
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 sys-apps/iproute2/Manifest | 1 +
14 sys-apps/iproute2/iproute2-5.5.0.ebuild | 162 ++++++++++++++++++++++++++++++++
15 2 files changed, 163 insertions(+)
16
17 diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest
18 index 059b01575ee..d03980eda6f 100644
19 --- a/sys-apps/iproute2/Manifest
20 +++ b/sys-apps/iproute2/Manifest
21 @@ -2,3 +2,4 @@ DIST iproute2-4.19.0.tar.xz 720408 BLAKE2B 2d0ece5dd8f1beb7912d025c269a9edd2ecd8
22 DIST iproute2-5.2.0.tar.xz 729540 BLAKE2B 72d082b4f39b6b9f0040149ea14d3c5c6d999eb4955b708ef49a3276f3c574eab757e2c81f10a11e2ce5f709c7849bbf6556e40c7f261fc72d498046f73eade4 SHA512 82bbeae29d98129d822c95ff7523186569e32c66132b8d781d501d61f396b04d122e3d13057dd4236455264008e5bfac7cb63c325908fc1c46d416cbde6ac7e1
23 DIST iproute2-5.3.0.tar.xz 742660 BLAKE2B e2152eb6c7d443f54bad0aec0cba23656c1defafc53f10130b63288f070e6e77c27a78a3f9bf6f6d14be3490eadd583a779f5d44ec23d16535e14abe04feb848 SHA512 c20ce477cb3ec24194ea56d3d9037795e26975ffde188b63ba974a0aa671dd169f356e9446bf43dc56523e01c0bafa442b91d83da9b2302daee18e237f2f3157
24 DIST iproute2-5.4.0.tar.xz 741328 BLAKE2B 8c7b74aa64526180e793165eb3d0f1ee07d4589fa982aa91e4e0775595c096d73677e85bb7f073cbe14e6de6b166d31efba94554f8c7df3320b168341818fcba SHA512 26d1230e10d9ba4466edd3fe95cb6f595df691eeb27b87ae845ceb9da09fe11c2e0daa8d67187121320413f9ee7131fd426182055eb285be7c4de558d9e47051
25 +DIST iproute2-5.5.0.tar.xz 747756 BLAKE2B b9cf368bd0a082c1d613b8089ed425d50525d886a56b2353439ba3fa5c7fedcb40deb090b78c23e14d61cbffebb5ad7de13c08afb2b18841000a3b8e08861b63 SHA512 a59fb6d620206aa17a4ff7d4510b99322e39b6cf34a00953a7d4cd4d62ca85de16d2e28e33cafa7b026edd4f63c81f3f337954aafe963b964ca0cd2d5c54ac78
26
27 diff --git a/sys-apps/iproute2/iproute2-5.5.0.ebuild b/sys-apps/iproute2/iproute2-5.5.0.ebuild
28 new file mode 100644
29 index 00000000000..e40c1b857ce
30 --- /dev/null
31 +++ b/sys-apps/iproute2/iproute2-5.5.0.ebuild
32 @@ -0,0 +1,162 @@
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 ~sh ~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 + # Use /run instead of /var/run.
106 + sed -i \
107 + -e 's:/var/run:/run:g' \
108 + include/namespace.h \
109 + man/man8/ip-netns.8 || die
110 +
111 + # build against system headers
112 + rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc
113 + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
114 +
115 + if use minimal ; then
116 + sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die
117 + fi
118 +}
119 +
120 +src_configure() {
121 + tc-export AR CC PKG_CONFIG
122 +
123 + # This sure is ugly. Should probably move into toolchain-funcs at some point.
124 + local setns
125 + pushd "${T}" >/dev/null
126 + printf '#include <sched.h>\nint main(){return setns(0, 0);}\n' > test.c
127 + ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
128 + echo 'int main(){return 0;}' > test.c
129 + ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
130 + popd >/dev/null
131 +
132 + # run "configure" script first which will create "config.mk"...
133 + econf
134 +
135 + # ...now switch on/off requested features via USE flags
136 + # this is only useful if the test did not set other things, per bug #643722
137 + cat <<-EOF >> config.mk
138 + TC_CONFIG_ATM := $(usex atm y n)
139 + TC_CONFIG_XT := $(usex iptables y n)
140 + TC_CONFIG_NO_XT := $(usex iptables n y)
141 + # We've locked in recent enough kernel headers #549948
142 + TC_CONFIG_IPSET := y
143 + HAVE_BERKELEY_DB := $(usex berkdb y n)
144 + HAVE_CAP := $(usex caps y n)
145 + HAVE_MNL := $(usex minimal n y)
146 + HAVE_ELF := $(usex elf y n)
147 + HAVE_SELINUX := $(usex selinux y n)
148 + IP_CONFIG_SETNS := ${setns}
149 + # Use correct iptables dir, #144265 #293709
150 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
151 + EOF
152 +}
153 +
154 +src_compile() {
155 + emake V=1
156 +}
157 +
158 +src_install() {
159 + if use minimal ; then
160 + into /
161 + dosbin tc/tc
162 + dobin ip/ip
163 + return 0
164 + fi
165 +
166 + emake \
167 + DESTDIR="${D}" \
168 + PREFIX="${EPREFIX}/usr" \
169 + LIBDIR="${EPREFIX}"/$(get_libdir) \
170 + SBINDIR="${EPREFIX}"/sbin \
171 + CONFDIR="${EPREFIX}"/etc/iproute2 \
172 + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
173 + MANDIR="${EPREFIX}"/usr/share/man \
174 + ARPDDIR="${EPREFIX}"/var/lib/arpd \
175 + install
176 +
177 + dodir /bin
178 + mv "${ED}"/{s,}bin/ip || die #330115
179 +
180 + dolib.a lib/libnetlink.a
181 + insinto /usr/include
182 + doins include/libnetlink.h
183 + # This local header pulls in a lot of linux headers it
184 + # doesn't directly need. Delete this header that requires
185 + # linux-headers-3.8 until that goes stable. #467716
186 + sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die
187 +
188 + if use berkdb ; then
189 + keepdir /var/lib/arpd
190 + # bug 47482, arpd doesn't need to be in /sbin
191 + dodir /usr/bin
192 + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
193 + fi
194 +}