From 3cf7c3ef441822c889356fd1812ebf2944a59851 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 25 Aug 2020 10:45:55 +0100 Subject: gentoo resync : 25.08.2020 --- sys-apps/iproute2/Manifest | 13 +- .../iproute2/files/iproute2-4.11.0-no-ipv6.patch | 37 ---- .../files/iproute2-4.17.0-configure-nomagic.patch | 207 --------------------- .../iproute2-5.2.0-fix-sys-queue-h-on-musl.patch | 83 --------- sys-apps/iproute2/iproute2-4.19.0-r1.ebuild | 157 ---------------- sys-apps/iproute2/iproute2-5.2.0-r1.ebuild | 163 ---------------- sys-apps/iproute2/iproute2-5.6.0.ebuild | 164 ---------------- sys-apps/iproute2/iproute2-5.7.0.ebuild | 2 +- sys-apps/iproute2/iproute2-5.8.0.ebuild | 159 ++++++++++++++++ 9 files changed, 163 insertions(+), 822 deletions(-) delete mode 100644 sys-apps/iproute2/files/iproute2-4.11.0-no-ipv6.patch delete mode 100644 sys-apps/iproute2/files/iproute2-4.17.0-configure-nomagic.patch delete mode 100644 sys-apps/iproute2/files/iproute2-5.2.0-fix-sys-queue-h-on-musl.patch delete mode 100644 sys-apps/iproute2/iproute2-4.19.0-r1.ebuild delete mode 100644 sys-apps/iproute2/iproute2-5.2.0-r1.ebuild delete mode 100644 sys-apps/iproute2/iproute2-5.6.0.ebuild create mode 100644 sys-apps/iproute2/iproute2-5.8.0.ebuild (limited to 'sys-apps/iproute2') diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest index 32553b17cc72..440d21641108 100644 --- a/sys-apps/iproute2/Manifest +++ b/sys-apps/iproute2/Manifest @@ -1,20 +1,13 @@ AUX iproute2-3.1.0-mtu.patch 1649 BLAKE2B cbecd9770391ca7c7f25b860a95bb5b2783073b333084874b18de85f5a9072ab3922e083f726ab1e6f58f0334b515968b1e3651abcd7fc6f603def0492da79cb SHA512 5479c2085b4aca958a89d3e265ebc3763c9e7cb273bd4046d7b7585209739f75ff04cc9b84d8eb9e3afae821ff788f0f0c7ab443260ab07943b6fad6946403e1 -AUX iproute2-4.11.0-no-ipv6.patch 1360 BLAKE2B 43881c76622159e6ae7f7499eddfc251b0cf1e0a8fa077d3099c509706b056c51685c3dff66e3381a2ca0839dd32d1534a310dff4acf329836ddd1bec6eb8241 SHA512 8e548f19079eea1d3a5a91bb657bba961c9e9206147e0e0aea1aaf04d74b46e2687c906b78561d939f53f4a33ecb9e08ad8237f401068076df5842c78bc3b577 -AUX iproute2-4.17.0-configure-nomagic.patch 5654 BLAKE2B b56f7a3a02822c99a1f2c7ca1bcd0af633dc2f57d454c44dabd81b923f43afee1dfdfffda1d1293c101041316c8496275d773c2495f73817fb4ff90d0a85daed SHA512 97f35b0e8a93e5570fdade6a47864518686a358c9c6b5a55832d66baae628140015a90418b49b8426f66011c8b8a9dc7713d89c3e0e45938b3dc948a92350d42 AUX iproute2-4.20.0-configure-nomagic.patch 5835 BLAKE2B e21e79a5f804b4f3ebd82334541dd6d9e931308cfa218dfd7743f5a807126d6bf52d63e9e84f7683be41b2249ea8aa13991ea3f4d486702d3d4d2c4e9a51b238 SHA512 a41b87a11d71120c3f3df9f9dbecc789df0355de517700749ea0b9bb4fb9ffeb94dd9218f9b2edc75ffc865e63a9a00af381816b36b0a929c0c9c7828c949660 AUX iproute2-4.20.0-no-ipv6.patch 1334 BLAKE2B 612fa64a897fe8c601aca529a09508cc865f2f0fb7cb865ba28f3369748086622b6910f25052047c972f495b5e20014cdf6e9f73b230124f372cfe6301bc0bf2 SHA512 f4b42667d4433225b2e4272b6e629fc43b73ede02ac0e706d2e46d81ffcecd19ca45b8b9789904b4bd6d10d34c82239f9b3c33cfcf3f9e5b309d828a3494c864 AUX iproute2-5.1.0-portability.patch 1117 BLAKE2B 8e3a2f275ffb774a30165f46d85ad01f7cd3a932085519255f661dd898462ccb5e8f11c2a57e015d6c19d8c917c82eb76f4b9c779ff91b4cfb7b874fcdda3088 SHA512 5e46e5870e41c15213f04582f40bef18c081f5058f8b530c844fab4f42f56935386f461f0d46f33d17352eebd79a167bb9b6f1edc93bb62b805283cc3872f4f9 -AUX iproute2-5.2.0-fix-sys-queue-h-on-musl.patch 2579 BLAKE2B 86e81152b51a2566060469d4585ab092be0f5a62bad11a24e086bf2cdea78db7494dc5c4692e3c71ed108732ad3a59e444c423eaffd356c919ca82445de75f6a SHA512 9b0875781f20c0a3773d9c0b0f051ce455fcbf3cedb92a411ce9c873f162ca6b25ea8c564fa971d7c56e6e3effa3a9cb0a3057518a16de264b100b7b73a7d64c AUX iproute2-5.7.0-mix-signal.h-include.patch 213 BLAKE2B ad6def6d017ff1d78587d1bfb9d92379983d989d9d4a396e773f02c655ac14c57cc25c5d4e37fbdb0e0d1cb1d35fc94ee70077b81d1285ac2d58cb1b19fa69db SHA512 09a9d450179b06c434a41b7bdd8d4a47b8ca2303de3d08b2b101e8695aec28e5d1e454a8c62e1b71d66b6e776dc6975f2837acc0a0f8a2a3f1e31b1eb56b71e3 -DIST iproute2-4.19.0.tar.xz 720408 BLAKE2B 2d0ece5dd8f1beb7912d025c269a9edd2ecd87aea04971a28eca9f9b7ea82d0e4aa397c9338c0cb6cb463887678a541a5407644e82244ffbbae0eb8f6ac088e8 SHA512 47c750da2247705b1b1d1621f58987333e54370d0fff2f24106194022de793ff35dfd67fd1be127ce019008705702092d31dac49abf930a7c0dc5c7e7c0665b8 -DIST iproute2-5.2.0.tar.xz 729540 BLAKE2B 72d082b4f39b6b9f0040149ea14d3c5c6d999eb4955b708ef49a3276f3c574eab757e2c81f10a11e2ce5f709c7849bbf6556e40c7f261fc72d498046f73eade4 SHA512 82bbeae29d98129d822c95ff7523186569e32c66132b8d781d501d61f396b04d122e3d13057dd4236455264008e5bfac7cb63c325908fc1c46d416cbde6ac7e1 DIST iproute2-5.4.0.tar.xz 741328 BLAKE2B 8c7b74aa64526180e793165eb3d0f1ee07d4589fa982aa91e4e0775595c096d73677e85bb7f073cbe14e6de6b166d31efba94554f8c7df3320b168341818fcba SHA512 26d1230e10d9ba4466edd3fe95cb6f595df691eeb27b87ae845ceb9da09fe11c2e0daa8d67187121320413f9ee7131fd426182055eb285be7c4de558d9e47051 -DIST iproute2-5.6.0.tar.xz 754812 BLAKE2B 5232c206052dcbc489284cb5a4169bf2555f9bdf7c122e23be07f7a5a18e0c828f5b4f3bb4afb6d33919919d211c67a20626ad10556e4ae41f90619d6eed445f SHA512 e52c6c8b676ab79401ae815fe3f80268c1edb490c0a00826e0f7181a816e9bf6549df9e77a40b0d56855db8ad312179b3a40002a2dd6f66c807039cff0cdfb6c DIST iproute2-5.7.0.tar.xz 764436 BLAKE2B 842229730139f8931c4ff3d548fe56c7c86b6bb7be5cc1a7dd896ddce34c039467fb90d0c258cdc91276edc59b9b19f53c39a36c79b54b15a78436b44c595eed SHA512 d5ef68e0eb8e84fbff68c2e7dd4097b9ceb438c928d17ede4130876802dfeafe8bf08d82b4fd39005314e0679c0b261aaa3d6a0a2ff364074a43a043a855a634 -EBUILD iproute2-4.19.0-r1.ebuild 4372 BLAKE2B 3ee6b85303fea1bb9cc680022001baba11e7e557d4ab40e3f5da24ced78311da9ef650fffa9cc318de056cf01aa272ce6c32a64ef52de0f9361dd2f28e840dfd SHA512 bd17caa6b2f4f5068fc23e8a60a856c4af42290d61eae9560638a58271fe10d05b69e189db72a6249697e2a4f7a9eadecc629252fb34193516ebc81627637c43 -EBUILD iproute2-5.2.0-r1.ebuild 4480 BLAKE2B 9ce5e16fd42e39f9539a0ebeb5b626ad10f8b814414039b35c424fef64b3434fbddd37d0e11f9021cd90967f14b2c1bcdbf96b18f64d15915b7cb943ea86f7aa SHA512 f81aad4109e869d1628d8425bc09bc7c285463719dc600a89f4ce5dd855fe38715349d80aebb0011190bc003fccad8744a345826e8789a0f3e6e7f584409a997 +DIST iproute2-5.8.0.tar.xz 780612 BLAKE2B 5d86af8d981f5e9582d5eb0aaffbe15891964a86f3a1da408ce2f46101b1bb6beac8d4492dab1865391c212ef596c9256b680bdcb346d440e38cbb636a23cdc1 SHA512 f2a3f7dcf5cb39ca7cd14f0e40e45641eccf4b93427c527a09fd789ac8621c5c3359769ca61fcc8bab7e915edd943c39b7c3e15cbfc497187aa6271eed0a9152 EBUILD iproute2-5.4.0.ebuild 4423 BLAKE2B a52726d1e562962789fe3f8ebfa2d8ae7e9c65a4355e45a0d8351a31cbf46e7361daa9dc103235052a9cd9754b815d12b924f5aeee96406bea4a41c8d164a5a6 SHA512 6814b86e90dab9cb3600ff58b1dbb43197f2696051802639cc4602245ca96db28b1e4e117935504a4acf1c52d6ca9a8599162dfdebe5799b1a6930a95a0039ea -EBUILD iproute2-5.6.0.ebuild 4540 BLAKE2B 5a56182135bb0e83de820d889b40b7c0ba12a6c3b3c783c871d50b0fa98dcacdfaacb9e6345fb79ea788e026838086e4aa940a8ec1ac560ed4bc3451b237cae6 SHA512 ba67ace9de9fe1d6d2cae65161dfabc77942896a4ec5f7a600342cfd7479c909aee13526efdf2edfb4648ebfa02d98df8b6d04b6e0361c44f8ca432293ee7242 -EBUILD iproute2-5.7.0.ebuild 4495 BLAKE2B a6924b4ba1fc0323026a130d820b5dccc9d81aafaedf20154b320a744327bd3e273431b8e5a95d30e5cd34d7708cb3e2dbf0e0181bde0c9d1e9bc01328c3f426 SHA512 e4c9a3b718cdbe1893749a8669e119e2e1e4a68612cf657fb00c3778e53598cdf150497651eb77e13d8eade420413f0e5f663156f70a03dd6af4513a27e4c75b +EBUILD iproute2-5.7.0.ebuild 4488 BLAKE2B f7767f4d9b3c1aa8a1a099b92e4045bf3738b59dd3ec6a6e830a924c856f960f33b24fcad334f81c6e03e91362ea0ad3e932d6aa450f7a3b3c01420f89ca160f SHA512 df360350991cfaecc24f7048adb1cd5ee3394ba9927b87f0f533a72f28be1d740abec88c2aa4c96d1ce22b6b08207727da4560277903a042bce73dc9a9bc1caf +EBUILD iproute2-5.8.0.ebuild 4495 BLAKE2B a6924b4ba1fc0323026a130d820b5dccc9d81aafaedf20154b320a744327bd3e273431b8e5a95d30e5cd34d7708cb3e2dbf0e0181bde0c9d1e9bc01328c3f426 SHA512 e4c9a3b718cdbe1893749a8669e119e2e1e4a68612cf657fb00c3778e53598cdf150497651eb77e13d8eade420413f0e5f663156f70a03dd6af4513a27e4c75b EBUILD iproute2-9999.ebuild 4441 BLAKE2B a5ad7bbdd8f462eaa1cd5fb8d49ea8941743db34652609c36b5add05c383d2cd6584970df34047b074309414c5c52ca687b23cc8ea432514e0435ee1caa71513 SHA512 eb7fe8565a30aa2864364fdc556dbcd3e20d613992921cff2b46772e17c96ec8aede27017fa992b59c1cd122b267acc6ef222706cd1f62aca88c64a04b982ae6 MISC metadata.xml 672 BLAKE2B d27b6af84b177e8b12f64470dbac0e8fdcf45091681ced6d5ebd02414849c221e608a6a4bb8ce6aae305475e086cf140836b943a9e5380f10c368ac359397a98 SHA512 d71c5077fcf769520048a46b0fdd3563b974b65afdc68eb73fc0816d2c87dd9a73bca72e25d7e8f3c9f2ceb23c473bb92a1a92d8d5f43a7e15f965669226f0a2 diff --git a/sys-apps/iproute2/files/iproute2-4.11.0-no-ipv6.patch b/sys-apps/iproute2/files/iproute2-4.11.0-no-ipv6.patch deleted file mode 100644 index fc855dcf2209..000000000000 --- a/sys-apps/iproute2/files/iproute2-4.11.0-no-ipv6.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- iproute2-4.11.0/ip/ipmonitor.c -+++ iproute2-4.11.0/ip/ipmonitor.c -@@ -114,7 +114,6 @@ - } - if (n->nlmsg_type == RTM_NEWPREFIX) { - print_headers(fp, "[PREFIX]", ctrl); -- print_prefix(who, n, arg); - return 0; - } - if (n->nlmsg_type == RTM_NEWRULE || n->nlmsg_type == RTM_DELRULE) { ---- iproute2-4.11.0/ip/iptunnel.c -+++ iproute2-4.11.0/ip/iptunnel.c -@@ -589,13 +589,6 @@ - break; - case AF_INET: - break; -- /* -- * This is silly enough but we have no easy way to make it -- * protocol-independent because of unarranged structure between -- * IPv4 and IPv6. -- */ -- case AF_INET6: -- return do_ip6tunnel(argc, argv); - default: - fprintf(stderr, "Unsupported protocol family: %d\n", preferred_family); - exit(-1); ---- iproute2-4.11.0/ip/Makefile -+++ iproute2-4.11.0/ip/Makefile -@@ -1,6 +1,6 @@ - IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \ -- rtm_map.o iptunnel.o ip6tunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \ -- ipmaddr.o ipmonitor.o ipmroute.o ipprefix.o iptuntap.o iptoken.o \ -+ rtm_map.o iptunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \ -+ ipmaddr.o ipmonitor.o ipmroute.o iptuntap.o iptoken.o \ - ipxfrm.o xfrm_state.o xfrm_policy.o xfrm_monitor.o iplink_dummy.o \ - iplink_ifb.o iplink_nlmon.o iplink_team.o iplink_vcan.o \ - iplink_vlan.o link_veth.o link_gre.o iplink_can.o iplink_xdp.o \ diff --git a/sys-apps/iproute2/files/iproute2-4.17.0-configure-nomagic.patch b/sys-apps/iproute2/files/iproute2-4.17.0-configure-nomagic.patch deleted file mode 100644 index 30b5db3bc3c1..000000000000 --- a/sys-apps/iproute2/files/iproute2-4.17.0-configure-nomagic.patch +++ /dev/null @@ -1,207 +0,0 @@ -The hand-rolled configure script, for multiple options (selinux,mnl,elf), sets -a variable as well as modifying CFLAGS & LDLIBS. - -If config.mk is later amended to disable a feature, the CFLAGS/LDLIBS tweaks -are still in place. - -Push the CFLAGS/LDLIBS changes into new conditional Makefile code, so that they -are only passed when correctly needed. - -Prior Gentoo testcase for reproduction: -USE=minimal ebuild ... compile. -- Linking with libelf, libmnl & libcap based only on presence. -- Links based on libselinux based only on presence. - -Closes: https://bugs.gentoo.org/643722 -Signed-off-by: Robin H. Johnson - -Forward-ported from v4.14.1 to v4.16.0 by Lars Wendler -Added libcap to v4.17.0 by Lars Wendler - ---- iproute2-4.17.0/bridge/Makefile -+++ iproute2-4.17.0/bridge/Makefile -@@ -2,6 +2,7 @@ - BROBJ = bridge.o fdb.o monitor.o link.o mdb.o vlan.o - - include ../config.mk -+include ../config.include - - all: bridge - ---- iproute2-4.17.0/config.include -+++ iproute2-4.17.0/config.include -@@ -0,0 +1,26 @@ -+# We can only modify CFLAGS/LDLIBS after all the config options are known. -+ifeq ($(IP_CONFIG_SETNS),y) -+ CFLAGS += $(IP_CONFIG_SETNS_CFLAGS) -+endif -+ifeq ($(HAVE_ELF),y) -+ CFLAGS += $(HAVE_ELF_CFLAGS) -+ LDLIBS += $(HAVE_ELF_LDLIBS) -+endif -+ifeq ($(HAVE_SELINUX),y) -+ CFLAGS += $(HAVE_SELINUX_CFLAGS) -+ LDLIBS += $(HAVE_SELINUX_LDLIBS) -+endif -+ifeq ($(HAVE_MNL),y) -+ CFLAGS += $(HAVE_MNL_CFLAGS) -+ LDLIBS += $(HAVE_MNL_LDLIBS) -+endif -+ifeq ($(HAVE_CAP),y) -+ CFLAGS += $(HAVE_CAP_CFLAGS) -+ LDLIBS += $(HAVE_CAP_LDLIBS) -+endif -+ -+# Rules can only be declared after all variables in them are known. -+%.o: %.c -+ $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< -+ -+# vim: ft=make: ---- iproute2-4.17.0/configure -+++ iproute2-4.17.0/configure -@@ -212,7 +212,7 @@ - then - echo "IP_CONFIG_SETNS:=y" >>$CONFIG - echo "yes" -- echo "CFLAGS += -DHAVE_SETNS" >>$CONFIG -+ echo "IP_CONFIG_SETNS_CFLAGS += -DHAVE_SETNS" >>$CONFIG - else - echo "no" - fi -@@ -257,8 +257,8 @@ - echo "HAVE_ELF:=y" >>$CONFIG - echo "yes" - -- echo 'CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG -- echo 'LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG -+ echo 'HAVE_ELF_CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG -+ echo 'HAVE_ELF_LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG - else - echo "no" - fi -@@ -272,8 +272,8 @@ - echo "HAVE_SELINUX:=y" >>$CONFIG - echo "yes" - -- echo 'LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG -- echo 'CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG -+ echo 'HAVE_SELINUX_CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG -+ echo 'HAVE_SELINUX_LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG - else - echo "no" - fi -@@ -286,8 +286,8 @@ - echo "HAVE_MNL:=y" >>$CONFIG - echo "yes" - -- echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG -- echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG -+ echo 'HAVE_MNL_CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG -+ echo 'HAVE_MNL_LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG - else - echo "no" - fi -@@ -343,8 +343,8 @@ - echo "HAVE_CAP:=y" >>$CONFIG - echo "yes" - -- echo 'CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG -- echo 'LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG -+ echo 'HAVE_CAP_CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG -+ echo 'HAVE_CAP_LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG - else - echo "no" - fi -@@ -426,7 +426,3 @@ - - echo -n "libcap support: " - check_cap -- --echo >> $CONFIG --echo "%.o: %.c" >> $CONFIG --echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<' >> $CONFIG ---- iproute2-4.17.0/devlink/Makefile -+++ iproute2-4.17.0/devlink/Makefile -@@ -1,5 +1,6 @@ - # SPDX-License-Identifier: GPL-2.0 - include ../config.mk -+include ../config.include - - TARGETS := - ---- iproute2-4.17.0/genl/Makefile -+++ iproute2-4.17.0/genl/Makefile -@@ -2,6 +2,7 @@ - GENLOBJ=genl.o - - include ../config.mk -+include ../config.include - SHARED_LIBS ?= y - - CFLAGS += -fno-strict-aliasing ---- iproute2-4.17.0/ip/Makefile -+++ iproute2-4.17.0/ip/Makefile -@@ -15,6 +15,7 @@ - RTMONOBJ=rtmon.o - - include ../config.mk -+include ../config.include - - ALLOBJ=$(IPOBJ) $(RTMONOBJ) - SCRIPTS=ifcfg rtpr routel routef ---- iproute2-4.17.0/lib/Makefile -+++ iproute2-4.17.0/lib/Makefile -@@ -1,5 +1,6 @@ - # SPDX-License-Identifier: GPL-2.0 - include ../config.mk -+include ../config.include - - CFLAGS += -fPIC - ---- iproute2-4.17.0/misc/Makefile -+++ iproute2-4.17.0/misc/Makefile -@@ -5,6 +5,7 @@ - TARGETS=ss nstat ifstat rtacct lnstat - - include ../config.mk -+include ../config.include - - ifeq ($(HAVE_BERKELEY_DB),y) - TARGETS += arpd ---- iproute2-4.17.0/netem/Makefile -+++ iproute2-4.17.0/netem/Makefile -@@ -1,5 +1,6 @@ - # SPDX-License-Identifier: GPL-2.0 - include ../config.mk -+include ../config.include - - DISTGEN = maketable normal pareto paretonormal - DISTDATA = normal.dist pareto.dist paretonormal.dist experimental.dist ---- iproute2-4.17.0/rdma/Makefile -+++ iproute2-4.17.0/rdma/Makefile -@@ -1,5 +1,6 @@ - # SPDX-License-Identifier: GPL-2.0 - include ../config.mk -+include ../config.include - - TARGETS := - ---- iproute2-4.17.0/tc/Makefile -+++ iproute2-4.17.0/tc/Makefile -@@ -4,6 +4,7 @@ - emp_ematch.yacc.o emp_ematch.lex.o - - include ../config.mk -+include ../config.include - - SHARED_LIBS ?= y - ---- iproute2-4.17.0/tipc/Makefile -+++ iproute2-4.17.0/tipc/Makefile -@@ -1,5 +1,6 @@ - # SPDX-License-Identifier: GPL-2.0 - include ../config.mk -+include ../config.include - - TARGETS := - diff --git a/sys-apps/iproute2/files/iproute2-5.2.0-fix-sys-queue-h-on-musl.patch b/sys-apps/iproute2/files/iproute2-5.2.0-fix-sys-queue-h-on-musl.patch deleted file mode 100644 index 6bc129fa31f6..000000000000 --- a/sys-apps/iproute2/files/iproute2-5.2.0-fix-sys-queue-h-on-musl.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 33267017faf1a188d1286f5c423454a060517e39 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Fri, 26 Jul 2019 22:01:05 +0100 -Subject: iproute2: devlink: port from sys/queue.h to list.h - -sys/queue.h does not exist on linux-musl targets and fails build as: - - devlink.c:28:10: fatal error: sys/queue.h: No such file or directory - 28 | #include - | ^~~~~~~~~~~~~ - -The change ports to list.h API and drops dependency of 'sys/queue.h'. -The API maps one-to-one. - -Build-tested on linux-musl and linux-glibc. - -Bug: https://bugs.gentoo.org/690486 -CC: Stephen Hemminger -CC: netdev@vger.kernel.org -Signed-off-by: Sergei Trofimovich -Signed-off-by: Stephen Hemminger ---- - devlink/devlink.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/devlink/devlink.c b/devlink/devlink.c -index bb023c0c..0ea401ae 100644 ---- a/devlink/devlink.c -+++ b/devlink/devlink.c -@@ -25,7 +25,6 @@ - #include - #include - #include --#include - - #include "SNAPSHOT.h" - #include "list.h" -@@ -5981,13 +5980,13 @@ static int fmsg_value_show(struct dl *dl, int type, struct nlattr *nl_data) - - struct nest_qentry { - int attr_type; -- TAILQ_ENTRY(nest_qentry) nest_entries; -+ struct list_head nest_entries; - }; - - struct fmsg_cb_data { - struct dl *dl; - uint8_t value_type; -- TAILQ_HEAD(, nest_qentry) qhead; -+ struct list_head qhead; - }; - - static int cmd_fmsg_nest_queue(struct fmsg_cb_data *fmsg_data, -@@ -6001,13 +6000,13 @@ static int cmd_fmsg_nest_queue(struct fmsg_cb_data *fmsg_data, - return -ENOMEM; - - entry->attr_type = *attr_value; -- TAILQ_INSERT_HEAD(&fmsg_data->qhead, entry, nest_entries); -+ list_add(&fmsg_data->qhead, &entry->nest_entries); - } else { -- if (TAILQ_EMPTY(&fmsg_data->qhead)) -+ if (list_empty(&fmsg_data->qhead)) - return MNL_CB_ERROR; -- entry = TAILQ_FIRST(&fmsg_data->qhead); -+ entry = list_first_entry(&fmsg_data->qhead, struct nest_qentry, nest_entries); - *attr_value = entry->attr_type; -- TAILQ_REMOVE(&fmsg_data->qhead, entry, nest_entries); -+ list_del(&entry->nest_entries); - free(entry); - } - return MNL_CB_OK; -@@ -6116,7 +6115,7 @@ static int cmd_health_object_common(struct dl *dl, uint8_t cmd, uint16_t flags) - return err; - - data.dl = dl; -- TAILQ_INIT(&data.qhead); -+ INIT_LIST_HEAD(&data.qhead); - err = _mnlg_socket_sndrcv(dl->nlg, nlh, cmd_fmsg_object_cb, &data); - return err; - } --- -cgit 1.2-0.3.lf.el7 - diff --git a/sys-apps/iproute2/iproute2-4.19.0-r1.ebuild b/sys-apps/iproute2/iproute2-4.19.0-r1.ebuild deleted file mode 100644 index 64947b8ac529..000000000000 --- a/sys-apps/iproute2/iproute2-4.19.0-r1.ebuild +++ /dev/null @@ -1,157 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit toolchain-funcs flag-o-matic multilib - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb caps elf +iptables ipv6 minimal selinux" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - berkdb? ( sys-libs/db:= ) - atm? ( net-dialup/linux-atm ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support #549948 and some defines #553876 -DEPEND=" - ${RDEPEND} - app-arch/xz-utils - iptables? ( virtual/pkgconfig ) - >=sys-devel/bison-2.4 - sys-devel/flex - >=sys-kernel/linux-headers-3.16 - elibc_glibc? ( >=sys-libs/glibc-2.7 ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907 - "${FILESDIR}"/${PN}-4.17.0-configure-nomagic.patch # bug 643722 -) - -src_prepare() { - if ! use ipv6 ; then - PATCHES+=( - "${FILESDIR}"/${PN}-4.11.0-no-ipv6.patch #326849 - ) - fi - - default - - # echo -n is not POSIX compliant - sed 's@echo -n@printf@' -i configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Use /run instead of /var/run. - sed -i \ - -e 's:/var/run:/run:g' \ - include/namespace.h \ - man/man8/ip-netns.8 || die - - # build against system headers - rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null - printf '#include \nint main(){return setns(0, 0);}\n' > test.c - ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n - echo 'int main(){return 0;}' > test.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile - popd >/dev/null - - # run "configure" script first which will create "config.mk"... - econf - - # ...now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, #144265 #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED%/}"/{s,}bin/ip || die #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - # This local header pulls in a lot of linux headers it - # doesn't directly need. Delete this header that requires - # linux-headers-3.8 until that goes stable. #467716 - sed -i '/linux\/netconf.h/d' "${ED%/}"/usr/include/libnetlink.h || die - - if use berkdb ; then - dodir /var/lib/arpd - # bug 47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED%/}"/sbin/arpd "${ED%/}"/usr/bin/ || die - fi -} diff --git a/sys-apps/iproute2/iproute2-5.2.0-r1.ebuild b/sys-apps/iproute2/iproute2-5.2.0-r1.ebuild deleted file mode 100644 index a42b969cc0b8..000000000000 --- a/sys-apps/iproute2/iproute2-5.2.0-r1.ebuild +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs flag-o-matic multilib - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb caps elf +iptables ipv6 minimal selinux" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - dev-libs/libbsd - !minimal? ( net-libs/libmnl ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - berkdb? ( sys-libs/db:= ) - atm? ( net-dialup/linux-atm ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support #549948 and some defines #553876 -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - sys-devel/flex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907 - "${FILESDIR}"/${PN}-4.20.0-configure-nomagic.patch # bug 643722 - "${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.2.0-fix-sys-queue-h-on-musl.patch -) - -src_prepare() { - if ! use ipv6 ; then - PATCHES+=( - "${FILESDIR}"/${PN}-4.20.0-no-ipv6.patch #326849 - ) - fi - - default - - # echo -n is not POSIX compliant - sed 's@echo -n@printf@' -i configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Use /run instead of /var/run. - sed -i \ - -e 's:/var/run:/run:g' \ - include/namespace.h \ - man/man8/ip-netns.8 || die - - # build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null - printf '#include \nint main(){return setns(0, 0);}\n' > test.c - ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n - echo 'int main(){return 0;}' > test.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile - popd >/dev/null - - # run "configure" script first which will create "config.mk"... - econf - - # ...now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, #144265 #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - # This local header pulls in a lot of linux headers it - # doesn't directly need. Delete this header that requires - # linux-headers-3.8 until that goes stable. #467716 - sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die - - if use berkdb ; then - keepdir /var/lib/arpd - # bug 47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - fi -} diff --git a/sys-apps/iproute2/iproute2-5.6.0.ebuild b/sys-apps/iproute2/iproute2-5.6.0.ebuild deleted file mode 100644 index 622ac0d68948..000000000000 --- a/sys-apps/iproute2/iproute2-5.6.0.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs flag-o-matic multilib - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb caps elf +iptables ipv6 minimal selinux" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - dev-libs/libbsd - !minimal? ( net-libs/libmnl ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - berkdb? ( sys-libs/db:= ) - atm? ( net-dialup/linux-atm ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support #549948 and some defines #553876 -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - sys-devel/flex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907 - "${FILESDIR}"/${PN}-4.20.0-configure-nomagic.patch # bug 643722 - "${FILESDIR}"/${PN}-5.1.0-portability.patch -) - -src_prepare() { - if ! use ipv6 ; then - PATCHES+=( - "${FILESDIR}"/${PN}-4.20.0-no-ipv6.patch #326849 - ) - fi - - default - - # echo -n is not POSIX compliant - sed 's@echo -n@printf@' -i configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Use /run instead of /var/run. - sed -i \ - -e 's:/var/run:/run:g' \ - include/namespace.h \ - man/man8/ip-netns.8 || die - - # build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null - printf '#include \nint main(){return setns(0, 0);}\n' > test.c - ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n - echo 'int main(){return 0;}' > test.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile - popd >/dev/null - - # run "configure" script first which will create "config.mk"... - econf - - # ...now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, #144265 #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - # This local header pulls in a lot of linux headers it - # doesn't directly need. Delete this header that requires - # linux-headers-3.8 until that goes stable. #467716 - sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die - - if use berkdb ; then - keepdir /var/lib/arpd - # bug 47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - elif [[ -d "${ED}"/var/lib/arpd ]]; then - rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die - fi -} diff --git a/sys-apps/iproute2/iproute2-5.7.0.ebuild b/sys-apps/iproute2/iproute2-5.7.0.ebuild index 6a78d7f40fb6..0c4b0ec7e4b1 100644 --- a/sys-apps/iproute2/iproute2-5.7.0.ebuild +++ b/sys-apps/iproute2/iproute2-5.7.0.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]] ; then inherit git-r3 else SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 sparc x86" fi DESCRIPTION="kernel routing and traffic control utilities" diff --git a/sys-apps/iproute2/iproute2-5.8.0.ebuild b/sys-apps/iproute2/iproute2-5.8.0.ebuild new file mode 100644 index 000000000000..6a78d7f40fb6 --- /dev/null +++ b/sys-apps/iproute2/iproute2-5.8.0.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs flag-o-matic multilib + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" + inherit git-r3 +else + SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="kernel routing and traffic control utilities" +HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" + +LICENSE="GPL-2" +SLOT="0" +IUSE="atm berkdb caps elf +iptables ipv6 minimal selinux" + +# We could make libmnl optional, but it's tiny, so eh +RDEPEND=" + !net-misc/arpd + dev-libs/libbsd + !minimal? ( net-libs/libmnl ) + caps? ( sys-libs/libcap ) + elf? ( virtual/libelf ) + iptables? ( >=net-firewall/iptables-1.4.20:= ) + berkdb? ( sys-libs/db:= ) + atm? ( net-dialup/linux-atm ) + selinux? ( sys-libs/libselinux ) +" +# We require newer linux-headers for ipset support #549948 and some defines #553876 +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-3.16 +" +BDEPEND=" + app-arch/xz-utils + >=sys-devel/bison-2.4 + sys-devel/flex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907 + "${FILESDIR}"/${PN}-4.20.0-configure-nomagic.patch # bug 643722 + "${FILESDIR}"/${PN}-5.1.0-portability.patch + "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch +) + +src_prepare() { + if ! use ipv6 ; then + PATCHES+=( + "${FILESDIR}"/${PN}-4.20.0-no-ipv6.patch #326849 + ) + fi + + default + + # echo -n is not POSIX compliant + sed 's@echo -n@printf@' -i configure || die + + sed -i \ + -e '/^CC :\?=/d' \ + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ + -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ + -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ + Makefile || die + + # build against system headers + rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die + + if use minimal ; then + sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die + fi +} + +src_configure() { + tc-export AR CC PKG_CONFIG + + # This sure is ugly. Should probably move into toolchain-funcs at some point. + local setns + pushd "${T}" >/dev/null + printf '#include \nint main(){return setns(0, 0);}\n' > test.c + ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n + echo 'int main(){return 0;}' > test.c + ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile + popd >/dev/null + + # run "configure" script first which will create "config.mk"... + econf + + # ...now switch on/off requested features via USE flags + # this is only useful if the test did not set other things, per bug #643722 + cat <<-EOF >> config.mk + TC_CONFIG_ATM := $(usex atm y n) + TC_CONFIG_XT := $(usex iptables y n) + TC_CONFIG_NO_XT := $(usex iptables n y) + # We've locked in recent enough kernel headers #549948 + TC_CONFIG_IPSET := y + HAVE_BERKELEY_DB := $(usex berkdb y n) + HAVE_CAP := $(usex caps y n) + HAVE_MNL := $(usex minimal n y) + HAVE_ELF := $(usex elf y n) + HAVE_SELINUX := $(usex selinux y n) + IP_CONFIG_SETNS := ${setns} + # Use correct iptables dir, #144265 #293709 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) + EOF +} + +src_compile() { + emake V=1 NETNS_RUN_DIR=/run/netns +} + +src_install() { + if use minimal ; then + into / + dosbin tc/tc + dobin ip/ip + return 0 + fi + + emake \ + DESTDIR="${D}" \ + PREFIX="${EPREFIX}/usr" \ + LIBDIR="${EPREFIX}"/$(get_libdir) \ + SBINDIR="${EPREFIX}"/sbin \ + CONFDIR="${EPREFIX}"/etc/iproute2 \ + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ + MANDIR="${EPREFIX}"/usr/share/man \ + ARPDDIR="${EPREFIX}"/var/lib/arpd \ + install + + dodir /bin + mv "${ED}"/{s,}bin/ip || die #330115 + + dolib.a lib/libnetlink.a + insinto /usr/include + doins include/libnetlink.h + # This local header pulls in a lot of linux headers it + # doesn't directly need. Delete this header that requires + # linux-headers-3.8 until that goes stable. #467716 + sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die + + if use berkdb ; then + keepdir /var/lib/arpd + # bug 47482, arpd doesn't need to be in /sbin + dodir /usr/bin + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die + elif [[ -d "${ED}"/var/lib/arpd ]]; then + rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die + fi +} -- cgit v1.2.3