From 7b830374520118e805fdd214530a389653750f51 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 16 Sep 2023 17:00:58 +0100 Subject: gentoo auto-resync : 16:09:2023 - 17:00:58 --- sys-apps/iproute2/Manifest | 22 +- .../iproute2/files/iproute2-4.20.0-no-ipv6.patch | 38 ---- ...proute2-5.12.0-configure-nomagic-nolibbsd.patch | 242 ++++++++++++++++++++ .../files/iproute2-6.1.0-strncpy-overlap.patch | 39 ---- .../iproute2-6.4.0-disable-libbsd-fallback.patch | 25 +++ ...iproute2-6.5.0-configure-nomagic-nolibbsd.patch | 246 +++++++++++++++++++++ sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch | 50 +++++ .../files/iproute2-default-color-auto.patch | 7 - sys-apps/iproute2/iproute2-5.15.0.ebuild | 175 --------------- sys-apps/iproute2/iproute2-6.0.0.ebuild | 215 ------------------ sys-apps/iproute2/iproute2-6.1.0-r1.ebuild | 216 ------------------ sys-apps/iproute2/iproute2-6.2.0-r1.ebuild | 220 ------------------ sys-apps/iproute2/iproute2-6.3.0.ebuild | 220 ------------------ sys-apps/iproute2/iproute2-6.4.0-r1.ebuild | 215 ++++++++++++++++++ sys-apps/iproute2/iproute2-6.5.0.ebuild | 214 ++++++++++++++++++ sys-apps/iproute2/iproute2-9999.ebuild | 12 +- 16 files changed, 1003 insertions(+), 1153 deletions(-) delete mode 100644 sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch create mode 100644 sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch delete mode 100644 sys-apps/iproute2/files/iproute2-6.1.0-strncpy-overlap.patch create mode 100644 sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch create mode 100644 sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch create mode 100644 sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch delete mode 100644 sys-apps/iproute2/files/iproute2-default-color-auto.patch delete mode 100644 sys-apps/iproute2/iproute2-5.15.0.ebuild delete mode 100644 sys-apps/iproute2/iproute2-6.0.0.ebuild delete mode 100644 sys-apps/iproute2/iproute2-6.1.0-r1.ebuild delete mode 100644 sys-apps/iproute2/iproute2-6.2.0-r1.ebuild delete mode 100644 sys-apps/iproute2/iproute2-6.3.0.ebuild create mode 100644 sys-apps/iproute2/iproute2-6.4.0-r1.ebuild create mode 100644 sys-apps/iproute2/iproute2-6.5.0.ebuild (limited to 'sys-apps/iproute2') diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest index ffdfa1b221c8..6b11f446c1a4 100644 --- a/sys-apps/iproute2/Manifest +++ b/sys-apps/iproute2/Manifest @@ -1,21 +1,15 @@ AUX iproute2-3.1.0-mtu.patch 1649 BLAKE2B cbecd9770391ca7c7f25b860a95bb5b2783073b333084874b18de85f5a9072ab3922e083f726ab1e6f58f0334b515968b1e3651abcd7fc6f603def0492da79cb SHA512 5479c2085b4aca958a89d3e265ebc3763c9e7cb273bd4046d7b7585209739f75ff04cc9b84d8eb9e3afae821ff788f0f0c7ab443260ab07943b6fad6946403e1 -AUX iproute2-4.20.0-no-ipv6.patch 1334 BLAKE2B 612fa64a897fe8c601aca529a09508cc865f2f0fb7cb865ba28f3369748086622b6910f25052047c972f495b5e20014cdf6e9f73b230124f372cfe6301bc0bf2 SHA512 f4b42667d4433225b2e4272b6e629fc43b73ede02ac0e706d2e46d81ffcecd19ca45b8b9789904b4bd6d10d34c82239f9b3c33cfcf3f9e5b309d828a3494c864 +AUX iproute2-5.12.0-configure-nomagic-nolibbsd.patch 6971 BLAKE2B 220d62aa218251a6b154ff10ee12f30a9882e18eb220a21d41d6d443becb6a40e74343e3200ab828c354e30c85a26afd5e71f064416ac4a88f89fb17bb1c944e SHA512 dacc73caff79dba12bdafc44f84d5538604630dc73dcfbfeb5cb01ef8ce932c389f08c4aa11edd0305a284bc368bf95009bcac53a5b64a4719b2f0ecfc417216 AUX iproute2-5.12.0-configure-nomagic.patch 6967 BLAKE2B 8707ace3766d2bb797901886032bbbfc78b3116b548d317038144307a52ba86a01dc49460fa8b4524f03de3abc5b56f4901a9cb24f1f6cacfbd7a5b92cea7145 SHA512 a6184d1fc150717ab40a278c2a6ce439ea04e9967d55f1d10fecc8162452a1a38a6e11c2f736c5aebfe0ffe726bfa80e154169004ccc571b89dcef9c0dbe1242 AUX iproute2-5.7.0-mix-signal.h-include.patch 213 BLAKE2B ad6def6d017ff1d78587d1bfb9d92379983d989d9d4a396e773f02c655ac14c57cc25c5d4e37fbdb0e0d1cb1d35fc94ee70077b81d1285ac2d58cb1b19fa69db SHA512 09a9d450179b06c434a41b7bdd8d4a47b8ca2303de3d08b2b101e8695aec28e5d1e454a8c62e1b71d66b6e776dc6975f2837acc0a0f8a2a3f1e31b1eb56b71e3 -AUX iproute2-6.1.0-strncpy-overlap.patch 1401 BLAKE2B 8fe99941751ed3ab451ce8623a165e330f59ec3559e15b51e851c046d67b4a2225ac078dde0afede32eea9d1fc116db50183bc2138477036a145813269da8600 SHA512 c21acdb9af0185b9e50b03efaff7e9233d44d5056a24268785f61759d654aa87e00b41fdb211adfe8d964cfccf45e6c9340ec7cf0b2269c705109e01db34f059 AUX iproute2-6.4.0-add-missing-limits.h-include.patch 650 BLAKE2B 52395a28d07856bdcd81aadcbd8b248fa075782693dd32a02251fb90ae2d0f5bfc6d797736f86a2b3a7bf0efd93a8fab65b7119d243ad6a68b60367cbba63df1 SHA512 8979aa7b2b2fa9d382fae63437e9e9074d24f044704fe0fdc34d463cda8d8d915edd9d82891719f6ff0924a791c56e5693fb753b7fda19e429dbcdd62c56f93c -AUX iproute2-default-color-auto.patch 186 BLAKE2B 4f751e1292d7f14c8fac68c115c666f51d2494cb6d68d2da18e7fd6f694ea1d01b0731488b9482ed41cff8b985140d4bbee135861209d1a8f90ce26a7d972485 SHA512 d47ea460a1d92504184d9063c0539f69e7807204c17eefbb0342a27f30745ccb80e2f7ff61e516f3086516e66e0e68d361312bd6a0babd840927a57ef2fe9793 -DIST iproute2-5.15.0.tar.xz 858068 BLAKE2B bca20ac53e1b2b3ae06186f655ad5073a0e691ed7b3aab25c4fbc118847b72a8a522175732cd22d8ec27480d1ab142319e80a5c3628434bec21260e585e1591d SHA512 e94918fa10e523224b965c7cb5303a101745e89c90d149d2d9876a002b2a894b1c689c519dc22168f3d334c3ee0810c59ec43223baab3d5f4c56f017d6281f22 -DIST iproute2-6.0.0.tar.xz 900312 BLAKE2B 1cfb9b5a7892dec2b35e0eadbd957083e95fdc5077a1aa193329801ff25f9ed90a1fc4152756547be1fab8fe18d9a399001a4c3a61e951f64946156af6a90bae SHA512 be30362b0df6906aa786f935d5f555b8b86c747fe05314066f4180ab2f7c952ae227b7cf04c15e75d8f99ca17bafb7c8dc0fb1c18f3a9e3222d98716bb449f7a -DIST iproute2-6.1.0.tar.xz 905512 BLAKE2B 38249703e0a9ba74405aebdb97560b286deefa959a9c3f0e0893962b6966f5da2da46199dda6a0f9584bb473f8ba529440643d97f66e9b7619df029e3091d163 SHA512 4e4d3b5e1e1a5444f42671c1e6caee072e80063e34e37386695f76f85a1ab662f4513050814006e5154426cbaadfba1d86b0be14e65978d5e670a16446047b28 -DIST iproute2-6.2.0.tar.xz 911588 BLAKE2B d3bfaecf33ffc7861e983e8db0d6a63f4767b6c01b5346e88f51c65ed6279c4be29412ed18b8f98ed54d60a84455b73fe7745142fd0fc0f3e327a29e8bcce986 SHA512 b24e0fdd0f51b8b78bc3bb681e3829af47d3011e93f3892289eb070b336709a6883728ecc7627ca37f6449720f8ed1349af321c0d04454894a7175b82f7de151 -DIST iproute2-6.3.0.tar.xz 914700 BLAKE2B a7b48c59c8a30f56ca810136f4d9f681fe38359999c260227a6229b972ce70b233d2865a6543cf3f70ed586825f9191c22d459a9fc5cc8c7dbf3ab417064c8a7 SHA512 aec1d8ceb54c8849a075ec1ce079678638e05ccaec093e8b3cbc7243b5fafea2a8c11f10930fced3df82f52d6750aa325178e44f9058e37a556ab108d4a968bf +AUX iproute2-6.4.0-disable-libbsd-fallback.patch 843 BLAKE2B b7b27ce8ee0f7961932cfdba071e4062688dd4ae0cd4aad742f3fdc66fd76a70dd0eea97e59efa7d94a8dd3713bcb0b2aae72c46853a3c7be50acf50af7538e6 SHA512 0610d4fc282575c6c78d02362492dda9ae79de24a4024c64a7cfa8138b94f11ea4dd50fcd741475992dfb88861e672f96854111d23bd690a8949adbbf5378970 +AUX iproute2-6.5.0-configure-nomagic-nolibbsd.patch 6966 BLAKE2B bc2da6f561ebd10aa40438b9bfd9d6b25db2edee844ff31e7e8726b3b3a282db7e7bd1ee3955642608a03d9d11b900e4fb26b35f0bec7f07d844337424f2da8a SHA512 84ab38bebb1687ba743a1d4ed5eafc484b02b6ba96e8650b988a30456c9b936718dee7640ef97cecc07565b7e0ddcc7cad5002961b3ff0cfcefddd87eb64d067 +AUX iproute2-6.5.0-mtu.patch 1719 BLAKE2B ef2dc2f3ce23432464b778584c53b3a204a05e7dac1d87969563d89b94bbcd04ff080f21d9809e43f75751b63b49ea506e0ae8191a6170b9c76dae043f861621 SHA512 4057309aaa53e97fa8ed0a410e42e4cf1f70e20a278a299b49261ef00ad8050bfad903e1a91b123a7c99e041732e23088274a8b79c0b2290482acf9735fd8cc1 DIST iproute2-6.4.0.tar.xz 922164 BLAKE2B 76369d2a794afd13dba1a34ee9a7425775bb7b43c22164274749c01b18d061669aa5abd51d32a15d68f48e75f4837a887dfc28ea41e34d8e4c36b2ab865628dd SHA512 42330be6e061302694ea301765ff8d3cbfaeca4b1d06e39778861e4390ed211c03cb2d41498190202b659f7f5647b1ca4857410ef8c16fd601a35e7162788d21 -EBUILD iproute2-5.15.0.ebuild 4994 BLAKE2B bc73ac11db47b0d52926149af6546fe81fd94354ca48aad8f452c5fedeebc1629d847ba653175bdb18172a3d74c9e8c6026ffd8f3436130985929e38f4e0dec6 SHA512 5737c4bd54bc283c1c50c9b2f5e7c87f8b40d2665e15d72a05893d890427d1c389d2f6c857bd8ca0db2d38996dadea810b5a11f061e95830347ff7f864bd7f7e -EBUILD iproute2-6.0.0.ebuild 5943 BLAKE2B d85a48405ed9359c187e770afdd7583f54c3905ee5b58488a604369957333a79c9d0f3c3964436116e5799ad9d8e7ade1ad51c02d89cb10983b9d5f11d015297 SHA512 6df97340ce887a0f9a1319c5a4458872cf8157c3131cb8dd27027fd18867571a6b80267974c1c0009996e4fd8fa6431434d5ae61ab2fc0b0c988ba3668c7f84e -EBUILD iproute2-6.1.0-r1.ebuild 6000 BLAKE2B 49f03ac76621e34f65217bfbed93815d72914a081dda6598b1ce789dff8cf3f19697b199dde9a9e235738ef35b0cfcbdef04ba4652d3022dee49cd32b7f11a66 SHA512 d8a3fadd4a4ac3a1539f1b6c0e74320b321114ea3ddba75111606362f49412e04b6ca578cfc0f07d2fbc460d2639a1bbe8727c08e65cf103f29c552dc93b3bc5 -EBUILD iproute2-6.2.0-r1.ebuild 5955 BLAKE2B fc3cf5a97c950bb2a6c52d358e3e69d9b20a48c395185003aaf41ebe6f116d29603a1cbf44c149ccca285897d0db22fb47ec85b99a136ca606fdc51c637085ee SHA512 758771a80b246ec00a63288623875f9c37ced74d6082155b1be9035b2a97a2743fbd465e6c7bfeb038db3ac51c3194180a598f95dc9ea7f236dbad1eb729dada -EBUILD iproute2-6.3.0.ebuild 5955 BLAKE2B fc3cf5a97c950bb2a6c52d358e3e69d9b20a48c395185003aaf41ebe6f116d29603a1cbf44c149ccca285897d0db22fb47ec85b99a136ca606fdc51c637085ee SHA512 758771a80b246ec00a63288623875f9c37ced74d6082155b1be9035b2a97a2743fbd465e6c7bfeb038db3ac51c3194180a598f95dc9ea7f236dbad1eb729dada +DIST iproute2-6.5.0.tar.xz 925940 BLAKE2B 537a956c2fb59df25e90d7899a981e5408c5ee029df2bb87461b899ecf8fe4424a1db5d1b1b67a67bdb2555f6cc4aaf099b0544a2c92ffc3843adc3d17defb96 SHA512 615ba6924becdf08af3f491d347d84897ff0198426d65b194c87146c4527b0856fc51688b59834abe1cb6f9a70b93c66ff7ade6b7c305c1ece0fd6a29df6bc54 +EBUILD iproute2-6.4.0-r1.ebuild 5921 BLAKE2B fea9fa6c057dd7b94eeb7b4ab84003d2b47aba44a765ee167c5b0d15203050a43c44449a39eeed0d197c78ae5e13f472346a2d8f9c64ce62e38f9ed0239d7ae9 SHA512 433bd2e9e9eb9cbc24aa2dd9a625a3783e96b4b88d2d14b62fa585964316b9f50b295d562aff99d1944f40666a77fcfe1bbce16c97d89c24a9af3a1a5743a95b EBUILD iproute2-6.4.0.ebuild 5971 BLAKE2B 8da78bf3483728141a31aaff3a0afe73c305895dd0c3ef8ee85b6e8eb972fdb93097819324f2581ac332ee4431815c17b47702a35212035d1d0411458324be4d SHA512 c0dc2c75933954edeca40023b3157e98e9479646f726996eb9eed54bf96976a9027852bf7fcbc13c5cfca7f4ad072f71d7139b12feb024b40a9449f2b3e565ef -EBUILD iproute2-9999.ebuild 5963 BLAKE2B 7ba37fa4579eaea479d365ec7d1f964e238335403e0f6eb4042f56dbdac2d0151249a53d5e95ade07f66d75e9a9801dcde755c8009f463c959f08da59446858d SHA512 a17546ddc1d04498e42d2d34e698f5844a978684f8f1475272e98030d9d5ac5d5069e84831f43b6576185da37b017ca08306e621117ac453c5d1e415929d8986 +EBUILD iproute2-6.5.0.ebuild 5858 BLAKE2B dea994ebcd706fdf06118a4cf4363c95ec40749bff8e8457e58417d3bc78cac8739418a09f322c129c1224b61b24d7d22d666c2ae7128e3f60f0fc72ee112512 SHA512 36c0194161967ba0a790962bff2fffa962aa60e0ad4526f11ff7c19d3b6180820c49dcc4afe80d3af484d727ae60e079d8e2d4d3fdbdd61543c41b5d4e80267c +EBUILD iproute2-9999.ebuild 5858 BLAKE2B fbea521bcffa6b84d3881514ede01e215f0788f5568c3e39bac02e3fe49314c19130c9f6e370d8ae333a56ec8d16bffaf7dd9603b088238ca06612e6d51c41e4 SHA512 a8ca91ba1211e853f6140d769dfeec06b1f57758d799783e2b7598cd29a4057f9c9c73ad72051ff2a81365c9d2d1dd45ef86bb4b1d652898f9c965e5058e9229 MISC metadata.xml 973 BLAKE2B e505f65ebcc30561fe249ede546cbad6289a0be929be6105379c25674e1dbade56fc62fa75839b0485099f13bc175daa55ad8b86f0a346e52907cfa00c4bb3f1 SHA512 a7e201275dd562c097d66083225e74221f81d89a7efac98b7c05cc7c508100a94b9e928854796cfbfbfeb679acfe34fb79026f7d04df8e07f57132ffc64be525 diff --git a/sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch b/sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch deleted file mode 100644 index 31733e99f72c..000000000000 --- a/sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- iproute2-4.20.0/ip/ipmonitor.c -+++ iproute2-4.20.0/ip/ipmonitor.c -@@ -118,7 +118,6 @@ - - case RTM_NEWPREFIX: - print_headers(fp, "[PREFIX]", ctrl); -- print_prefix(n, arg); - return 0; - - case RTM_NEWRULE: ---- iproute2-4.20.0/ip/iptunnel.c -+++ iproute2-4.20.0/ip/iptunnel.c -@@ -549,13 +549,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.20.0/ip/Makefile -+++ iproute2-4.20.0/ip/Makefile -@@ -1,7 +1,7 @@ - # SPDX-License-Identifier: GPL-2.0 - 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_vxcan.o \ - iplink_vlan.o link_veth.o link_gre.o iplink_can.o iplink_xdp.o \ diff --git a/sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch b/sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch new file mode 100644 index 000000000000..4f88da3c20c5 --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch @@ -0,0 +1,242 @@ +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 libbsd, 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 +Forward-ported from v4.17.0 to v4.20.0 by Lars Wendler +Forward-ported from v4.20.0 to v5.11.0 by Lars Wendler +Forward-ported from v5.11.0 to v5.12.0 by Lars Wendler + +Update 2023-09-05: Removed libbsd enforcement from config.include for bug #911727 +by Holger Hoffstätte + +--- iproute2-5.12.0/bridge/Makefile ++++ iproute2-5.12.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-5.12.0/config.include ++++ iproute2-5.12.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) $(CPPFLAGS) -c -o $@ $< ++ ++# vim: ft=make: +--- iproute2-5.12.0/configure ++++ iproute2-5.12.0/configure +@@ -195,7 +195,7 @@ + if $CC -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1; 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 +@@ -238,8 +238,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 +@@ -357,8 +357,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 +@@ -370,8 +370,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 +@@ -411,8 +411,8 @@ + echo "no" + else + if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG ++ echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG ++ echo 'HAVE_LIBBSD_LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG + echo "no" + else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +@@ -428,8 +428,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 +@@ -512,7 +512,3 @@ + + echo -n "libcap support: " + check_cap +- +-echo >> $CONFIG +-echo "%.o: %.c" >> $CONFIG +-echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG +--- iproute2-5.12.0/dcb/Makefile ++++ iproute2-5.12.0/dcb/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/devlink/Makefile ++++ iproute2-5.12.0/devlink/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/genl/Makefile ++++ iproute2-5.12.0/genl/Makefile +@@ -2,6 +2,7 @@ + GENLOBJ=genl.o + + include ../config.mk ++include ../config.include + SHARED_LIBS ?= y + + CFLAGS += -fno-strict-aliasing +--- iproute2-5.12.0/ip/Makefile ++++ iproute2-5.12.0/ip/Makefile +@@ -16,6 +16,7 @@ + RTMONOBJ=rtmon.o + + include ../config.mk ++include ../config.include + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=ifcfg rtpr routel routef +--- iproute2-5.12.0/lib/Makefile ++++ iproute2-5.12.0/lib/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -fPIC + +--- iproute2-5.12.0/misc/Makefile ++++ iproute2-5.12.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-5.12.0/netem/Makefile ++++ iproute2-5.12.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-5.12.0/rdma/Makefile ++++ iproute2-5.12.0/rdma/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/tc/Makefile ++++ iproute2-5.12.0/tc/Makefile +@@ -4,6 +4,7 @@ + emp_ematch.tab.o emp_ematch.lex.o + + include ../config.mk ++include ../config.include + + SHARED_LIBS ?= y + +--- iproute2-5.12.0/tipc/Makefile ++++ iproute2-5.12.0/tipc/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/vdpa/Makefile ++++ iproute2-5.12.0/vdpa/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-6.1.0-strncpy-overlap.patch b/sys-apps/iproute2/files/iproute2-6.1.0-strncpy-overlap.patch deleted file mode 100644 index 8b4b0abbbc7d..000000000000 --- a/sys-apps/iproute2/files/iproute2-6.1.0-strncpy-overlap.patch +++ /dev/null @@ -1,39 +0,0 @@ -fix UB in strncpy (e.g. truncated ip route output) - -Fix overlapping buffers passed to strncpy which is UB. format_host_rta_r writes -to the buffer passed to it, so hostname (derived from b1) & b1 partly overlap. - -This gets worse with sys-libs/glibc-2.37 where the ip route output can be truncated, -but it was UB anyway and you can see it occurring w/ glibc-2.36. - -Bug: https://lore.kernel.org/netdev/0011AC38-4823-4D0A-8580-B108D08959C2@gentoo.org/T/#u -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30112 -Thanks-to: Doug Freed ---- a/ip/iproute.c -+++ b/ip/iproute.c -@@ -753,6 +753,7 @@ int print_route(struct nlmsghdr *n, void *arg) - int ret; - - SPRINT_BUF(b1); -+ SPRINT_BUF(b2); - - if (n->nlmsg_type != RTM_NEWROUTE && n->nlmsg_type != RTM_DELROUTE) { - fprintf(stderr, "Not a route: %08x %08x %08x\n", -@@ -814,7 +815,7 @@ int print_route(struct nlmsghdr *n, void *arg) - r->rtm_dst_len); - } else { - const char *hostname = format_host_rta_r(family, tb[RTA_DST], -- b1, sizeof(b1)); -+ b2, sizeof(b2)); - if (hostname) - strncpy(b1, hostname, sizeof(b1) - 1); - } -@@ -837,7 +838,7 @@ int print_route(struct nlmsghdr *n, void *arg) - r->rtm_src_len); - } else { - const char *hostname = format_host_rta_r(family, tb[RTA_SRC], -- b1, sizeof(b1)); -+ b2, sizeof(b2)); - if (hostname) - strncpy(b1, hostname, sizeof(b1) - 1); - } diff --git a/sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch b/sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch new file mode 100644 index 000000000000..888091387fe9 --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch @@ -0,0 +1,25 @@ + +Disable the optional libbsd fallback in favor of iproute2's own +strlcat/strlcpy routines. This prevents automagic linking and +all sorts of other related problems. + +Bug: https://bugs.gentoo.org/911727 +Signed-off-by: Holger Hoffstätte + +--- a/configure 2023-09-05 16:20:48.000000000 +0200 ++++ b/configure 2023-09-05 16:29:15.850347415 +0200 +@@ -454,14 +454,8 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then + echo "no" + else +- if ${PKG_CONFIG} libbsd --exists; then +- echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG +- echo 'HAVE_LIBBSD_LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG +- echo "no" +- else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG + echo "yes" +- fi + fi + rm -f $TMPDIR/strtest.c $TMPDIR/strtest + } diff --git a/sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch b/sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch new file mode 100644 index 000000000000..4618fb9c94ef --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch @@ -0,0 +1,246 @@ +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 libbsd, 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 +Forward-ported from v4.17.0 to v4.20.0 by Lars Wendler +Forward-ported from v4.20.0 to v5.11.0 by Lars Wendler +Forward-ported from v5.11.0 to v5.12.0 by Lars Wendler + +Update 2023-09-05: Removed libbsd enforcement from config.include for bug #911727 +by Holger Hoffstätte + +--- a/config.include ++++ b/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) $(CPPFLAGS) -c -o $@ $< ++ ++# vim: ft=make: + +--- a/bridge/Makefile ++++ b/bridge/Makefile +@@ -2,6 +2,7 @@ + BROBJ = bridge.o fdb.o monitor.o link.o mdb.o vlan.o vni.o + + include ../config.mk ++include ../config.include + + all: bridge + +--- a/configure ++++ b/configure +@@ -202,7 +202,7 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1; 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 +@@ -269,8 +269,8 @@ check_elf() + 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 +@@ -388,8 +388,8 @@ check_selinux() + 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 +@@ -414,8 +414,8 @@ check_mnl() + 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 +@@ -455,8 +455,8 @@ EOF + echo "no" + else + if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG ++ echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG ++ echo 'HAVE_LIBBSD_LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG + echo "no" + else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +@@ -472,8 +472,8 @@ check_cap() + 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 +@@ -633,7 +633,3 @@ check_strlcpy + + echo -n "libcap support: " + check_cap +- +-echo >> $CONFIG +-echo "%.o: %.c" >> $CONFIG +-echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG +--- a/dcb/Makefile ++++ b/dcb/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DCBOBJ = dcb.o \ + dcb_app.o \ +--- a/devlink/Makefile ++++ b/devlink/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DEVLINKOBJ = devlink.o mnlg.o + TARGETS += devlink +--- a/genl/Makefile ++++ b/genl/Makefile +@@ -2,6 +2,7 @@ + GENLOBJ=genl.o + + include ../config.mk ++include ../config.include + SHARED_LIBS ?= y + + CFLAGS += -fno-strict-aliasing +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -18,6 +18,7 @@ IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \ + RTMONOBJ=rtmon.o + + include ../config.mk ++include ../config.include + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=routel +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -fPIC + +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -5,6 +5,7 @@ LNSTATOBJ=lnstat.o lnstat_util.o + TARGETS=ss nstat ifstat rtacct lnstat + + include ../config.mk ++include ../config.include + + ifeq ($(HAVE_BERKELEY_DB),y) + TARGETS += arpd +--- a/netem/Makefile ++++ b/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 +--- a/rdma/Makefile ++++ b/rdma/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB + include ../config.mk ++include ../config.include + + CFLAGS += -I./include/uapi/ + +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -4,6 +4,7 @@ TCOBJ= tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o tc_monitor.o \ + emp_ematch.tab.o emp_ematch.lex.o + + include ../config.mk ++include ../config.include + + SHARED_LIBS ?= y + +--- a/tipc/Makefile ++++ b/tipc/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TIPCOBJ=bearer.o \ + cmdl.o link.o \ +--- a/vdpa/Makefile ++++ b/vdpa/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -I./include/uapi/ + VDPAOBJ = vdpa.o +-- +2.42.0 + diff --git a/sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch b/sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch new file mode 100644 index 000000000000..f2895021eb1b --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch @@ -0,0 +1,50 @@ +http://bugs.gentoo.org/291907 + +This patch was merged from two patches extracted from this thread: +http://markmail.org/thread/qkd76gpdgefpjlfn + +tc_stab.c: small fixes to commandline help + + +tc_core.c: +As kernel part of things relies on cell align which is always set to -1, +I also added it to userspace computation stage. This way if someone +specified e.g. 2048 and 512 for mtu and tsize respectively, one wouldn't +end with tsize supporting mtu 4096 suddenly, New default mtu is also set +to 2048 (disregarding weirdness of setting mtu to such values). + + +Unless I missed something, this is harmless and feels cleaner, but if it's +not allowed, documentation will have to be changed back to 2047 + extra +explanation as well. +--- a/tc/tc_core.c ++++ b/tc/tc_core.c +@@ -197,12 +197,12 @@ int tc_calc_size_table(struct tc_sizespec *s, __u16 **stab) + } + + if (s->mtu == 0) +- s->mtu = 2047; ++ s->mtu = 2048; + if (s->tsize == 0) + s->tsize = 512; + + s->cell_log = 0; +- while ((s->mtu >> s->cell_log) > s->tsize - 1) ++ while ((s->mtu - 1 >> s->cell_log) > s->tsize - 1) + s->cell_log++; + + *stab = malloc(s->tsize * sizeof(__u16)); +--- a/tc/tc_stab.c ++++ b/tc/tc_stab.c +@@ -27,7 +27,7 @@ static void stab_help(void) + fprintf(stderr, + "Usage: ... stab [ mtu BYTES ] [ tsize SLOTS ] [ mpu BYTES ]\n" + " [ overhead BYTES ] [ linklayer TYPE ] ...\n" +- " mtu : max packet size we create rate map for {2047}\n" ++ " mtu : max packet size we create size table for {2048}\n" + " tsize : how many slots should size table have {512}\n" + " mpu : minimum packet size used in rate computations\n" + " overhead : per-packet size overhead used in rate computations\n" +-- +2.42.0 + diff --git a/sys-apps/iproute2/files/iproute2-default-color-auto.patch b/sys-apps/iproute2/files/iproute2-default-color-auto.patch deleted file mode 100644 index eb017ecd61c8..000000000000 --- a/sys-apps/iproute2/files/iproute2-default-color-auto.patch +++ /dev/null @@ -1,7 +0,0 @@ -diff --git a/ip/ip.c b/ip/ip.c -index 40d2998a..454da1a3 100644 ---- a/ip/ip.c -+++ b/ip/ip.c -@@ -169 +169 @@ int main(int argc, char **argv) -- int color = 0; -+ int color = COLOR_OPT_AUTO; diff --git a/sys-apps/iproute2/iproute2-5.15.0.ebuild b/sys-apps/iproute2/iproute2-5.15.0.ebuild deleted file mode 100644 index 0ba17bb9fd47..000000000000 --- a/sys-apps/iproute2/iproute2-5.15.0.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2021 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 bpf caps elf +iptables ipv6 libbsd minimal selinux" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) - 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}-5.12.0-configure-nomagic.patch # bug 643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch -) - -doecho() { - echo "${@}" - "${@}" || die -} - -src_prepare() { - if ! use ipv6 ; then - PATCHES+=( - "${FILESDIR}"/${PN}-4.20.0-no-ipv6.patch #326849 - ) - fi - - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ "${PV}" != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # 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"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - doecho ./configure --libbpf_force $(usex bpf on off) - - # ...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) - HAVE_LIBBSD := $(usex libbsd y n) - 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 -} diff --git a/sys-apps/iproute2/iproute2-6.0.0.ebuild b/sys-apps/iproute2/iproute2-6.0.0.ebuild deleted file mode 100644 index b1a064050fbb..000000000000 --- a/sys-apps/iproute2/iproute2-6.0.0.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -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 ~loong ~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 bpf caps elf +iptables libbsd minimal nfs selinux split-usr" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #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 # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-default-color-auto.patch -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # 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 || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - 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, bug #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_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) - 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 # bug #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - 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-6.1.0-r1.ebuild b/sys-apps/iproute2/iproute2-6.1.0-r1.ebuild deleted file mode 100644 index 72f3265dd8e0..000000000000 --- a/sys-apps/iproute2/iproute2-6.1.0-r1.ebuild +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -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 ~loong ~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 bpf caps elf +iptables libbsd minimal nfs selinux split-usr" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #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 # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-default-color-auto.patch - "${FILESDIR}"/${PN}-6.1.0-strncpy-overlap.patch -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # 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 || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - 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, bug #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_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) - 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 # bug #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - 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-6.2.0-r1.ebuild b/sys-apps/iproute2/iproute2-6.2.0-r1.ebuild deleted file mode 100644 index dc076ef7f9cf..000000000000 --- a/sys-apps/iproute2/iproute2-6.2.0-r1.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -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 ~loong ~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 bpf caps elf +iptables libbsd minimal nfs selinux split-usr" -# Needs root -RESTRICT="test" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #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 # bug #291907 - "${FILESDIR}"/${PN}-5.12.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() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # 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 || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - 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, bug #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_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_test() { - emake check -} - -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 # bug #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - 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-6.3.0.ebuild b/sys-apps/iproute2/iproute2-6.3.0.ebuild deleted file mode 100644 index dc076ef7f9cf..000000000000 --- a/sys-apps/iproute2/iproute2-6.3.0.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -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 ~loong ~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 bpf caps elf +iptables libbsd minimal nfs selinux split-usr" -# Needs root -RESTRICT="test" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #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 # bug #291907 - "${FILESDIR}"/${PN}-5.12.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() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # 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 || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - 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, bug #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_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_test() { - emake check -} - -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 # bug #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - 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-6.4.0-r1.ebuild b/sys-apps/iproute2/iproute2-6.4.0-r1.ebuild new file mode 100644 index 000000000000..f03d49fa174a --- /dev/null +++ b/sys-apps/iproute2/iproute2-6.4.0-r1.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs + +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 ~loong ~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 bpf caps elf +iptables minimal nfs selinux split-usr" +# Needs root +RESTRICT="test" + +# We could make libmnl optional, but it's tiny, so eh +RDEPEND=" + !net-misc/arpd + !minimal? ( net-libs/libmnl:= ) + atm? ( net-dialup/linux-atm ) + berkdb? ( sys-libs/db:= ) + bpf? ( dev-libs/libbpf:= ) + caps? ( sys-libs/libcap ) + elf? ( virtual/libelf:= ) + iptables? ( >=net-firewall/iptables-1.4.20:= ) + nfs? ( net-libs/libtirpc:= ) + selinux? ( sys-libs/libselinux ) +" +# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #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 # bug #291907 + "${FILESDIR}"/${PN}-5.12.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 + "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch + "${FILESDIR}"/${PN}-6.4.0-add-missing-limits.h-include.patch + "${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727 +) + +src_prepare() { + default + + # Fix version if necessary + local versionfile="include/version.h" + if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then + einfo "Fixing version string" + sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ + -i ${versionfile} || die + fi + + # 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 || die + printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die + if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then + setns=y + else + setns=n + fi + + echo 'int main(){return 0;}' > test.c || die + if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then + sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die + fi + popd >/dev/null || die + + # run "configure" script first which will create "config.mk"... + # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) + edo ./configure --libbpf_force $(usex bpf on off) + + # Remove the definitions made by configure and allow them to be overridden + # by USE flags below. + # We have to do the cheesy only-sed-if-disabled because otherwise + # the *_FLAGS etc stuff found by configure will be used but result + # in a broken build. + if ! use berkdb ; then + sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die + fi + + if ! use caps ; then + sed -i -e '/HAVE_CAP/d' config.mk || die + fi + + if use minimal ; then + sed -i -e '/HAVE_MNL/d' config.mk || die + fi + + if ! use elf ; then + sed -i -e '/HAVE_ELF/d' config.mk || die + fi + + if ! use nfs ; then + sed -i -e '/HAVE_RPC/d' config.mk || die + fi + + if ! use selinux ; then + sed -i -e '/HAVE_SELINUX/d' config.mk || die + fi + + # ...Now switch on/off requested features via USE flags + # this is only useful if the test did not set other things, per bug #643722 + # Keep in sync with ifs above, or refactor to be unified. + 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, bug #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_RPC := $(usex nfs y n) + HAVE_SELINUX := $(usex selinux y n) + IP_CONFIG_SETNS := ${setns} + # Use correct iptables dir, bug #144265, bug #293709 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) + EOF +} + +src_compile() { + emake V=1 NETNS_RUN_DIR=/run/netns +} + +src_test() { + emake check +} + +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 # bug #330115 + + dolib.a lib/libnetlink.a + insinto /usr/include + doins include/libnetlink.h + + # Collides with net-analyzer/ifstat + # https://bugs.gentoo.org/868321 + mv "${ED}"/sbin/ifstat{,-iproute2} || die + + if use split-usr ; then + # Can remove compatibility symlink in a year: 2023-05-28. + # bug #547264 + mv "${ED}"/sbin/ss "${ED}"/bin/ss || die + dosym -r /bin/ss /sbin/ss + fi + + 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-6.5.0.ebuild b/sys-apps/iproute2/iproute2-6.5.0.ebuild new file mode 100644 index 000000000000..92b9a7188d80 --- /dev/null +++ b/sys-apps/iproute2/iproute2-6.5.0.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs + +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 ~loong ~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 bpf caps elf +iptables minimal nfs selinux split-usr" +# Needs root +RESTRICT="test" + +# We could make libmnl optional, but it's tiny, so eh +RDEPEND=" + !net-misc/arpd + !minimal? ( net-libs/libmnl:= ) + atm? ( net-dialup/linux-atm ) + berkdb? ( sys-libs/db:= ) + bpf? ( dev-libs/libbpf:= ) + caps? ( sys-libs/libcap ) + elf? ( virtual/libelf:= ) + iptables? ( >=net-firewall/iptables-1.4.20:= ) + nfs? ( net-libs/libtirpc:= ) + selinux? ( sys-libs/libselinux ) +" +# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #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}-6.5.0-mtu.patch # bug #291907 + "${FILESDIR}"/${PN}-6.5.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 + "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch + "${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727 +) + +src_prepare() { + default + + # Fix version if necessary + local versionfile="include/version.h" + if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then + einfo "Fixing version string" + sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ + -i ${versionfile} || die + fi + + # 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 || die + printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die + if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then + setns=y + else + setns=n + fi + + echo 'int main(){return 0;}' > test.c || die + if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then + sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die + fi + popd >/dev/null || die + + # run "configure" script first which will create "config.mk"... + # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) + edo ./configure --libbpf_force $(usex bpf on off) + + # Remove the definitions made by configure and allow them to be overridden + # by USE flags below. + # We have to do the cheesy only-sed-if-disabled because otherwise + # the *_FLAGS etc stuff found by configure will be used but result + # in a broken build. + if ! use berkdb ; then + sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die + fi + + if ! use caps ; then + sed -i -e '/HAVE_CAP/d' config.mk || die + fi + + if use minimal ; then + sed -i -e '/HAVE_MNL/d' config.mk || die + fi + + if ! use elf ; then + sed -i -e '/HAVE_ELF/d' config.mk || die + fi + + if ! use nfs ; then + sed -i -e '/HAVE_RPC/d' config.mk || die + fi + + if ! use selinux ; then + sed -i -e '/HAVE_SELINUX/d' config.mk || die + fi + + # ...Now switch on/off requested features via USE flags + # this is only useful if the test did not set other things, per bug #643722 + # Keep in sync with ifs above, or refactor to be unified. + 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, bug #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_RPC := $(usex nfs y n) + HAVE_SELINUX := $(usex selinux y n) + IP_CONFIG_SETNS := ${setns} + # Use correct iptables dir, bug #144265, bug #293709 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) + EOF +} + +src_compile() { + emake V=1 NETNS_RUN_DIR=/run/netns +} + +src_test() { + emake check +} + +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 # bug #330115 + + dolib.a lib/libnetlink.a + insinto /usr/include + doins include/libnetlink.h + + # Collides with net-analyzer/ifstat + # https://bugs.gentoo.org/868321 + mv "${ED}"/sbin/ifstat{,-iproute2} || die + + if use split-usr ; then + # Can remove compatibility symlink in a year: 2023-05-28. + # bug #547264 + mv "${ED}"/sbin/ss "${ED}"/bin/ss || die + dosym -r /bin/ss /sbin/ss + fi + + 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-9999.ebuild b/sys-apps/iproute2/iproute2-9999.ebuild index 32423402a1c3..04c74af7ff25 100644 --- a/sys-apps/iproute2/iproute2-9999.ebuild +++ b/sys-apps/iproute2/iproute2-9999.ebuild @@ -18,7 +18,7 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" LICENSE="GPL-2" SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nfs selinux split-usr" +IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux split-usr" # Needs root RESTRICT="test" @@ -32,7 +32,6 @@ RDEPEND=" caps? ( sys-libs/libcap ) elf? ( virtual/libelf:= ) iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) nfs? ( net-libs/libtirpc:= ) selinux? ( sys-libs/libselinux ) " @@ -50,9 +49,9 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch + "${FILESDIR}"/${PN}-5.12.0-configure-nomagic-nolibbsd.patch # bug #643722 & 911727 "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch + "${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727 ) src_prepare() { @@ -138,10 +137,6 @@ src_configure() { sed -i -e '/HAVE_SELINUX/d' config.mk || die fi - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/d' config.mk || die - fi - # ...Now switch on/off requested features via USE flags # this is only useful if the test did not set other things, per bug #643722 # Keep in sync with ifs above, or refactor to be unified. @@ -160,7 +155,6 @@ src_configure() { IP_CONFIG_SETNS := ${setns} # Use correct iptables dir, bug #144265, bug #293709 IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) EOF } -- cgit v1.2.3